JavaScriptでじゃんけんゲームをつくります。

HTML部分

HTML部分を示します。

style.css

JavaScript部分

グローバル変数と定数

グローバル変数と定数を示します。

ページを読み込まれたときの処理

ページが読み込まれたら画像を読み込む処理とイベントリスナを追加する処理をおこないます。

ゲーム開始の処理

連勝数を0にリセットし、「叩く」「かぶる」を選択する制限時間に初期値を設定します。そしてスタートボタンを非表示にするとともに、じゃんけんの手を出すためのボタンを表示させます。

showActionButtons関数はじゃんけんの手を出すためのボタンを表示させたり非表示にするためのものです。

showHandsButtons関数は「叩く」「かぶる」のボタンを表示させたり非表示にするためのものです。

じゃんけんをする処理

じゃんけんの手を出すボタンがクリックされたら乱数でコンピュータ側の手を確定させ、どちらがじゃんけんに勝ったのかを確定させます。

これでじゃんけんの勝敗がつく場合があるので、叩くかぶるのボタンを表示します。このボタンをあいこのときにクリックするとゲームオーバーになります。じゃんけんの勝敗がついている状態では叩くかぶるのボタン以外は反応しないようにします。

そのあとタイマーで残り時間を減算させていきます。もしじゃんけんの勝敗がついている状態であれば、残り時間が0になるまでに叩くかかぶる行動を取らなければなりません。なにもしないで残り時間が0になった場合はゲームオーバーの処理をおこないます。onLose関数になぜ負けなのかを表示する文字列を渡します。

changeImage関数はグーチョキパーのイメージを入れ替える処理をおこないます。

「叩く」「防御」のボタンをクリックしたときの処理

「叩く」「防御」のボタンをクリックしたときの処理を示します。プレーヤーの行動が適切だった場合は勝ち、それ以外のときはonLose関数を呼び出してゲームオーバーの処理をおこないます。

勝敗確定時の処理

勝ったときは連勝数を増やして制限時間を少し減らします。また連勝数を表示し、次戦に備えてじゃんけんの手を出すためのボタンを表示させます。

負けたときは即ゲームオーバーです。これまでのゲームオーバーであることを示す文字列と連勝数を表示し、ボタンをすべて非表示にします。そのあとゲーム開始ボタンを表示させます。