DXライブラリでマインスイーパー
こんにちは、とりすてぃっくです。
2ヶ月ほど前に上げた
マインスイーパーにあったバグを改良しつつ、
画面上に描画できるようにしました。
↓2ヶ月前のマインスイーパーはこちら
今回の記事ではマインスイーパーの解説も交えつつ、プログラムの配布もしていこうと思います。
そもそもマインスイーパーって何?
マインスイーパーとは生成されたマスの中にある地雷がどこにあるのかを推測しつつ、地雷のないマスを全て開けるという単純なゲームです。
ヒントとなるものは、マスを開けたときに出てくる数字。例えばマスに書かれている数字が1ならば周りには地雷が1つ、数字が2ならば周りには地雷が2つという感じです。
地雷以外のマスを全て開けられたらクリアになります。
詳しく知りたい、攻略法を知りたいという人は調べた方がいいです。
どんなプログラムなの?
自分流でやってるので参考になるかは分かりません。
まず、マスをクリックしたとき、
地雷を生成したかどうかで条件分岐します。
生成していなければ地雷を生成するだけです。
次に、クリックしたマスを調べます。
地雷があるかどうか、周囲の地雷の数はいくつか確認します。
調べ終えたら、マスの状態に応じて条件分岐します。
地雷であればゲームオーバー、
周囲に地雷がなければ周りのマスを調べます。
調べ終えたなら、調べたマスを開きます。
もし、このときに地雷以外のマスを全て開けていたなら、ゲームクリアにします。
これらの処理が終わったとき、盤面の状態を描画します。
この一連の流れを繰り返すような感じです。
exeファイルとソースコード
これはGitHubの方で公開します。
バグ等があればまた修正するかもしれません。
https://github.com/Tori-Stick/MineSweeper/releases/tag/v1.0.0