首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在扫雷游戏中检测“胜利”?

如何在扫雷游戏中检测“胜利”?
EN

Stack Overflow用户
提问于 2011-10-05 04:07:51
回答 2查看 3.7K关注 0票数 1

我正在做一个Minesweeper,我已经差不多完成了。

唯一缺少的就是获胜的检测。实现这一点的最佳方式是什么?我知道它将成为检测点击的actionlistener的一部分,在某种程度上,最后一次点击应该会检测到获胜者。

有谁能给我一些建议吗?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-05 04:18:17

如果玩家在以下情况下获胜

代码语言:javascript
复制
numUnopenedCells == numBombs

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

  • 如果是numUnopenedCells > numBombs,那么玩家有未打开的单元,而这些单元不是炸弹(即,还有一些工作要做)
  • 如果是numUnopenedCells < numBombs,那么玩家肯定已经“打开”了一个炸弹单元,并且已经输了。

我知道它将成为检测点击的actionlistener的一部分,在某个时刻,最后一次点击应该会检测到获胜者。

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

票数 4
EN

Stack Overflow用户

发布于 2011-10-05 04:10:10

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7653445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档