1

我正在开发一个我已经完成的扫雷器。

唯一缺少的是对获胜的检测。实现这一点的最佳方法是什么?我知道它将成为检测点击的动作监听器的一部分,在某些时候最后一次点击应该检测到赢家。

谁能给我一些想法谢谢!

4

2 回答 2

4

玩家赢了,如果

numUnopenedCells == numBombs

(如果单元格处于初始状态或标记为地雷,则单元格未打开)。

  • 如果numUnopenedCells > numBombs那么玩家有未打开的不是炸弹的单元格(即还有一些工作要做)
  • 如果numUnopenedCells < numBombs那么玩家必然“打开”了一个炸弹牢房并且已经迷路了。

我知道它将成为检测点击的动作监听器的一部分,在某些时候最后一次点击应该检测到赢家。

是的,该片段将由动作侦听器直接或间接执行。我建议你有一个游戏状态的模型,并在openCell(int x, int y)你检查上面的方法中,并采取适当的行动。

于 2011-10-04T20:18:17.083 回答
1

如果打开的字段是#(all fields) - #(bomb fields).

于 2011-10-04T20:10:10.300 回答