-
永谷 弘宣
『IMines(あいまいんず)』は、隠された地雷を避けながらマスを開くパズルゲームです。
【ルール】
縦 16 x 横 16 の 256 マスのフィールド上に 40 個の地雷が隠されています。
(昔の「Microsoft Windows」付属「マインスイーパー」の「中級」と同じ)
地雷を避けつつマスを開いて下さい。
開かれたマスに数字が書かれている場合があります。
その数字は、その周囲 8 マスに隠されている地雷の個数を表しています。
地雷のあるマスが判明した場合、そのマスに印を付けることができます。
フィールド右上の数字は、隠されている地雷の個数を示しており、
マスに印を付けることで、この数字が減少します。
開かれたマスに書かれた数字と、地雷の残り個数を手掛かりに、
地雷が置かれていないマスを全て開けばゲームクリアです。
地雷の置かれているマスを開けばゲームオーバーです。
【操作】
矢印 : 現在位置を移動する
SPACE : 現在位置のマスを開く
上記以外のキー : 現在位置のマスに印を付ける(または印を消す)
【更新履歴】
2018/03/04 初版公開
2018/05/11 初手で地雷を踏まないよう修正、印をイチゴに変更、コード最適化
【ソースコード解説】
《変数》
K : Key, キー入力値
X : 現在位置の X 座標
Y : 現在位置の Y 座標
C : Character, 現在位置の本来のキャラクタ
O : Open, 開いたマスの数
M : Mine, 地雷の残り個数
U : 地雷を配置する際の地雷の Y 座標
V : 地雷を配置する際の地雷の X 座標
I,J : Iterator, ループ変数
S : SCR, 一時変数(ゲームオーバー時の地雷配置表示に利用)
H : Hit, 一時変数(ゲームオーバー時の地雷配置表示に利用)
《配列》
[0] ~ [15] : 地雷の配置
《PCGパターン》
#E0 : 現在位置のキャラクタ
《コード》
5 : タイトル
10 : 初期化
20 : フィールド描画
30 : キー入力受付と矢印キー押下時の処理
30 : 矢印キー押下時の処理
40 : マスに印を付けるキー押下時の処理
50 : SPACE キー押下時の処理と地雷の配置
60 : マスを開く処理とゲームクリア判定
70 ~ 80 : ゲームオーバー時の処理
90 : 地雷の残り個数の表示
100 : 現在位置へカーソルを移動
110 : 現在位置のキャラクタ定義
120 : 空いているマスへ地雷を配置
【その他】
容量の都合により「開いたマス周囲に地雷が無い場合に、地雷の無いマスを自動的に開く処理」は実装されていません。