ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【p5.js】マインスイーパーも200行以下でプログラミング出来ます!

成果物

動作画面

クリア

失敗

ライブデモ


お友達がマインスイーパーにはまっていたので、簡単に作ってみました。シンプルだけれど、爆弾を避けるドキドキ感がクセになります!

遊び方

マインスイーパーは爆弾を避けながら、マスを開けていくゲームです。間違えてマスを開けないように爆弾のある場所に目印の旗を立てながら、爆弾を避けます。爆弾以外の全てのマスを空けたらクリアです。

  • 開ける  :左クリック or Dキー
  • 旗を立てる:右クリック or Aキー
  • リセット :Rキー

数字は周囲8マスの爆弾の数を表しているので、これを頼りに進めていきます。

白いマスが既に開けたところ、黒いマスがまだ空いていないマスなので、黒いマスをクリックして開けてください。

爆弾を避けて全てのマスを開けるとクリアです。虹色に光るのがこだわりポイントです!

作り方・コード

作り方

初めに、どこかのマスがクリックされたら爆弾を生成します。この時クリックした場所を中心としたの3x3マスは避けます。
次にマスがクリックされたら、爆弾があればゲームオーバー、爆弾がなければそのマスを開けます。この時、周囲の3x3の爆弾が0個なら、周囲のマスも同じ手順で連鎖的に開けていきます。
残り爆弾の個数が、開けていないマスと同じになったらゲームクリアと判定します。

コード

editor.p5js.org