私はほぼ完成したマインスイーパに取り組んでいます。
足りないのは勝利の検出だけです。これを実装するための最良の方法は何でしょうか?クリックを検出するアクションリスナーの一部になることはわかっています。ある時点で、最後のクリックで勝者が検出されるはずです。
誰かが私にいくつかのアイデアをありがとうと言ってもらえますか?
私はほぼ完成したマインスイーパに取り組んでいます。
足りないのは勝利の検出だけです。これを実装するための最良の方法は何でしょうか?クリックを検出するアクションリスナーの一部になることはわかっています。ある時点で、最後のクリックで勝者が検出されるはずです。
誰かが私にいくつかのアイデアをありがとうと言ってもらえますか?
プレイヤーが勝った場合
numUnopenedCells == numBombs
(セルが初期状態にある場合、または地雷としてフラグが立てられている場合、セルは開かれていません)。
numUnopenedCells > numBombs
、プレイヤーは爆弾ではない未開封のセルを持っています(つまり、いくつかの作業が残っています)numUnopenedCells < numBombs
、プレイヤーは必然的に爆弾セルを「開いて」、すでに負けています。クリックを検出するアクションリスナーの一部になることはわかっています。ある時点で、最後のクリックで勝者が検出されるはずです。
はい、このスニペットはアクションリスナーによって直接または間接的に実行されます。ゲームの状態のモデルを用意し、そのopenCell(int x, int y)
方法で上記を確認し、適切なアクションを実行することをお勧めします。
開いているフィールドが#(all fields) - #(bomb fields)
。