クリックされた個数を取り除く


【Source Code】
<script src="jewel_class2.js"></script>
</head>

<body>
<h2>クリックされた個数を取り除く</h2>

<script type="text/javascript">
var jewel = new jewel_class();

// num から val 個の石を取り除く 
if (param["num"] >= param["val"])   param["num"] -= param["val"]; 
jewel.check();
// 石を表示する
jewel.disp();
// プレイする
jewel.play();
</script>

石取ゲーム-1 の続きです。
最初の呼び出しで簡単なゲームの説明を表示します。
    if (window.location.search.length<3)
    {   // 最初の呼び出し
        document.write("あなたと私が交互に石を取り除きます<br>");
        document.write("最後の一個を取らされた方が負けです<br>");
        document.write("最大", param["max"], "まで取り除くことが出来ます<br>");
        param["num"] = 0;
    }

"num" がゼロのとき(最初と次のゲームの開始時)に "num" と "max" と "teban" を設定してゲームを開始します。
"num" は山に積まれる石の数です。
"max" は一度に取り除くことが出来る最大数です。
"teban" は [1:プレイヤーの手番] で [-1:コンピュターの手番] です。
このゲームではコンピュターの打った手をプレイヤーに知らせることが必要です。
    if (param["num"] < 1)
    {   // 初期値の設定
        param["num"] = Math.floor(Math.random() * 20)+10;
        param["max"] = Math.floor(Math.random() * 4)+2;
        param["val"] = 0;
        param["teban"] = 1;
    }

このページは再起的に何度も呼び出されてゲームが進行します。
ページが呼び出されると new jewel_class(); で ObjectClass を生成してパラメータを取得します。
次に param["num"] から param["val"] 個の石を取り除きます。
最初 val は0なので、取り除いても同じです。
二度目以後は param["val"] には、前の画面で選択した個数が設定されています。
今回はコンピュータのプレイは設定されていません。
クリックを続けると、選択した個数分だけ石の数が減っていきます。
<script type="text/javascript">
var jewel = new jewel_class();

// num から val 個の石を取り除く 
if (param["num"] >= param["val"])   param["num"] -= param["val"]; 
jewel.check();
// 石を表示する
jewel.disp();
// プレイする
jewel.play();
</script>

[Next Chapter ↓] 石取ゲームβ版
[Previous Chapter ↑] 石取ゲーム-1

前田稔の超初心者のプログラム入門
超初心者のプログラム入門(JavaScript)