私はJavaでマインスイーパプログラムに取り組んでいます。フィールド全体に爆弾を配置し、クリックに応答するアクション リスナーと、右クリックに応答するマウス リスナーを配置しました。また、クリックされた各マスに隣接する爆弾の数を確認し、ゲームと同じように数字をマスに印刷します。
私が理解していない唯一の部分は、マインスイーパが数字であるか空白の四角であるかに関係なく、四角をクリックするとフィールドがどのように開くかです。これがどのように機能するかを理解するのを手伝ってください。
私はJavaでマインスイーパプログラムに取り組んでいます。フィールド全体に爆弾を配置し、クリックに応答するアクション リスナーと、右クリックに応答するマウス リスナーを配置しました。また、クリックされた各マスに隣接する爆弾の数を確認し、ゲームと同じように数字をマスに印刷します。
私が理解していない唯一の部分は、マインスイーパが数字であるか空白の四角であるかに関係なく、四角をクリックするとフィールドがどのように開くかです。これがどのように機能するかを理解するのを手伝ってください。
私が理解していない唯一の部分は、マインスイーパが数字であるか空白の四角であるかに関係なく、四角をクリックするとフィールドがどのように開くかです。
隣接するマスのいずれかに地雷がある場合、その周囲の地雷の数とともに数字が表示されます。
周囲に地雷がない場合は空白です (つまり、必要に応じて数字 0 が表示されます)。空白の場合は、再帰的にすべての隣接も開きます (例: すべての隣接と、空白の場合はその隣接も開きます)。
そして、それが地雷なら、あなたはもちろん負けます。例:
X 2 . .
X 2 . .
2 2 1 .
1 X 1 .
X
(地雷を示しましょう)。
(空白)とマークされた四角のいずれかを開く.
と、それらすべてとその隣の数字が自動的に展開されます。
- 2 . .
- 2 . .
- - 1 .
- - 1 .
(-
隠された四角形を表す)。
爆弾だったら負け。
数値の場合は、その数値を明らかにするだけです。
それがゼロの正方形、つまり隣接する爆弾がない場合、それは空白の正方形であり、明らかにされると、ゲームはそれに接触している他のすべての正方形が空白であることを明らかにします (このプロセスは、隣接するすべての正方形になるまで続きます)。新しく作成された null フィールドには、少なくとも 1 つの爆弾に隣接している (つまり、番号を持っている) ものがあります)