Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

IMines

2018/03/02 09:33:22

IMines

永谷 弘宣

永谷 弘宣

『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 : 空いているマスへ地雷を配置

【その他】
容量の都合により「開いたマス周囲に地雷が無い場合に、地雷の無いマスを自動的に開く処理」は実装されていません。

GOOD

Programmers marked as favorites.1 programmers

Kidspod運営チーム
Kidspod運営チーム
2018/03/16 11:57:37