HOME  >>>  HTML整理ノート  >>> DHTML --  基本編  応用編

マーキー・ゲーム

ボタンアイコンが1往復する間に、何回クリックできますか?。モードを選んでネ

イージー・モード ノーマル・モード チョームズ・モード

現在のクリック回数は: 

結果は:
 

Sample Source......................................................................>>>

<script language="JavaScript"><!--
var i = 0;    //スクロールの折り返し回数
var ck = 0;    //クリック回数
var re = new Array(10);    //結果を格納する10個の配列を宣言
var reidx = 0;    //配列のindex番号

function ScrollChange(sa){
    if(sa == 1){
        mq.scrollAmount = 4;
        td1.style.backgroundColor="pink";
        td1.style.fontWeight="bold";
        td2.style.backgroundColor="";
        td2.style.fontWeight="";
        td3.style.backgroundColor="";
        td3.style.fontWeight="";
    }
    if(sa == 2){
        mq.scrollAmount = 8;
        td2.style.backgroundColor="pink";
        td2.style.fontWeight="bold";
        td1.style.backgroundColor="";
        td1.style.fontWeight="";
        td3.style.backgroundColor="";
        td3.style.fontWeight="";
    }
    if(sa == 3){
        mq.scrollAmount = 12;
        td3.style.backgroundColor="pink";
        td3.style.fontWeight="bold";
        td2.style.backgroundColor="";
        td2.style.fontWeight="";
        td1.style.backgroundColor="";
        td1.style.fontWeight="";
    }
}
   
function GameStop(){    //1往復したら自動的に停止する
    i += 1;
    if(i > 1){
        mq.stop();     //マーキーの動作停止
        scbt.disabled = 1; //マーキー内のボタンを機能停止する
        i = 0;
    }
}

function ClickGame(){         //クリック回数を表示する
    ck += 1;
    sp.innerHTML = ck + "回";
}

function GameStart(){    //ゲームを再開する
    ck = 0;        //クリック回数を0に初期化
    sp.innerHTML = "";    //結果の表示をクリア
    mq.start();     //マーキーの動作開始
    scbt.disabled = 0; //マーキー内のボタンを機能するようにする
}

function GameSave(){    //クリック回数の結果を保存
    re[reidx] = ck;
    var reAll = "";
    for(var a=0;a<reidx+1;a++){
        rex = (a + 1) + "回目の結果は" + re[a] + "です。<br>";
        reAll = reAll + rex;
    }
    spre.innerHTML = reAll;
    reidx ++;    //結果配列のindex番号を1増やす
}

function SaveClear(){    //結果表示をクリアし消す
    reidx = 0;    //結果配列のindex番号を0に初期化
    spre.innerHTML = "";    //結果表示を消す
    sp.innerHTML = "";
}
//--></script>
</head>

<body onload="JavaScript:mq.stop();">

<table align="center" table border="2" bordercolor="red"><tr>
<td id="td1" onclick="ScrollChange(1);">イージー・モード</td>
<td id="td2" onclick="ScrollChange(2);">ノーマル・モード</td>
<td id="td3" onclick="ScrollChange(3);">チョームズ・モード</td>
</tr></table>
<button style="color:blue;" onclick="GameStart();">ゲーム開始</button>

<marquee id="mq" behavior="alternate"
    direction="right" bgcolor="#C0CAD6" border="1"
    width="503" height="28" onbounce="GameStop();">
    <button id="scbt" style="width:30;height:30;font-size:150%
        backgroundColor:red;" onclick="ClickGame();"></button>
</marquee>

<p align="center">現在のクリック回数は:
    <span id="sp" style="color:red;font:bold 18pt;"> </span></p>

<button style="color:blue;" onclick="GameSave();">
    現在の結果をセーブする</button>
<button style="color:blue;" onclick="SaveClear();">
    結果をクリアする</button>
<p>結果は:<br>
    <span id="spre" style="color:blue;font:14pt;"> </span>
</p>


end(最終更新:12/11/6)