鳩でもわかるXORパズルをつくる(1)の続きです。今回はゲーム開始以降の処理を実装します。

ゲーム開始の処理

ゲームを開始するための処理を示します。

最初の問題を生成・表示させて各フラグをリセットしています。

移動の処理

移動させる処理を示します。引数は移動先のセルのindexです。移動できない場所が引数として渡された場合は何もしません。

移動可能であれば移動処理をおこない、xorの値を更新して現在位置に応じて各セルの背景色を変えます。右下のセルに到達したらxorの値をチェックして 0 であればステージクリアです。

ステージクリアのときはステージ数と残り時間から追加する点数を計算して加点処理をおこないます。

キー操作でも移動処理がおこなえるようにしておきます。

リセットの処理

[リセット]が押下されたら現在位置を左上のマスに戻します。

ギブアップの処理

[ギブアップ]が押下されたら解を表示して次の問題を出題します。

スコアランキングへの登録

PHP側では以下のような処理がおこなわれます。上位20件のスコアと各ユーザーの最高スコアが100人分保存されます。

ranking.php

スコアランキングの表示

スコアランキングを表示させます。

HTML部分

ranking.css

ranking.js