//
//  はにわ君たたきゲーム JavaScript
//

    var myform;
    var id;
    var time = 0;
    var mode;
    var imghit = new Image();
    imghit.src = "hanihit.gif";
    pat = new Array(0, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1);
    state = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
    img = new Array(7);
    for (var i = 0; i <= 6; i++) {
        img[i] = new Image();
        img[i].src = "hani" + i + ".gif";
    }

// 新しいゲームの開始
function newgame(obj)
{
    clearTimeout(id);
    time = 240;
    myform = obj;
    mode = obj.mode.value;
    obj.timer.value = 60;
    obj.miss.value = 0;
    obj.score.value = 0;
    obj.hit.value = 0;
    for (var i = 0; i < 9; i++) {
        state[i] = 0;
        document.images["hani"+i].src = img[0].src;
    }
    run();
}

// はにわ君の動き
function run()
{
    time--;
    myform.timer.value = parseInt(time / 4);
    if (time < 0) {
        gameover();
        return;
    }
    id = setTimeout("run()", 250);
    for (var i = 0; i < 9; i++) {
        if ((state[i] == 0 && Math.random() * 1000 < 100 - time / 4 + 40 * mode) || state[i] != 0) {
            if ((++state[i]) > 11) {
                state[i] = 0;
                if (mode == 2) {
                    myform.miss.value++;
                    myform.score.value -= 3;
                }
            }
            document.images["hani"+i].src = img[pat[state[i]]].src;
        }
    }
}

// たたいたときの処理
function tap(n)
{
    if (time == 0 || state[n] == -1) return false;
    if (pat[state[n]] == 0) {
        if (mode != 0) {
            myform.miss.value++;
            myform.score.value -= 5;
        }
    } else {
        myform.hit.value++;
        myform.score.value -= -10;
        document.images["hani"+n].src = imghit.src;
        state[n] = -1;
    }
    return false;
}

// ゲームオーバー処理
function gameover()
{
    time = 0;
    if (myform.score.value < 0) {
        alert("こんなことで世界を救えるかっ！");
    }
    if (myform.score.value >= 0 && myform.score.value < 500) {
        alert("もっと頑張らないとだめだじょ！");
    }
    if (myform.score.value >= 500 && myform.score.value < 750) {
        alert("まぁまぁだね。次に期待するじょ。");
    }
    if (myform.score.value >= 750 && myform.score.value < 1000) {
        alert("あと一歩で英雄だじょ！ 頑張れ！！");
    }
    if (myform.score.value >= 1000) {
        alert("ご苦労！かくして世界は救われた・・・");
    }
}

// end_of_file

