JAVA代码解释及流程图 有会编JAVA的 讲一扫雷游戏的题 将明白的分都给你 30
1个回答
展开全部
扫雷游戏的算法概述:
你可以把地雷所在的区域抽象成一个二维数组。数组里的元素是该地周围的雷数。然后根据玩家所设定的地雷个数用一个随机数生成器来撒雷。有雷的地方可以用-1来表示,没有雷的地方在撒雷的时候数它旁边的雷数,然后将值填入对应的数组元素里。这样,你的雷阵已经部署完毕。
接下来是玩家的操作了。如果你有仔细观察的话,当你点击一个位置的是后发生的情况有3种:
1. 如果该处有雷的话,很简单,游戏结束
2. 如果该处没有雷,但是这个地方附近有至少一个雷的话,只将当前的位置周围雷数显示出来。
3. 如果该处没有雷,并且附近也没有雷的话,就用一个循环或是递归的方法将它四周的没有雷的地方也显示出来。如果他四周的位置的四周也没有雷的话,继续这个过程,知道四周至少有一个雷时候停止。
玩家事件的处理:
玩家的事件有三种:单击,左右键同时点击,和右击。
单击可以想象成走到该处,如果有雷的话就游戏结束,没有的话就根据我以上讲的三点来判断该做什么。
左右键同时点击的话就将该处四周可能有雷的地方显示出来,如果玩家错将没有雷的地方放了小红旗的话,游戏结束。
右击是放小红旗。
当所有雷都被清楚的时候,游戏结束,玩家胜利。
你可以把地雷所在的区域抽象成一个二维数组。数组里的元素是该地周围的雷数。然后根据玩家所设定的地雷个数用一个随机数生成器来撒雷。有雷的地方可以用-1来表示,没有雷的地方在撒雷的时候数它旁边的雷数,然后将值填入对应的数组元素里。这样,你的雷阵已经部署完毕。
接下来是玩家的操作了。如果你有仔细观察的话,当你点击一个位置的是后发生的情况有3种:
1. 如果该处有雷的话,很简单,游戏结束
2. 如果该处没有雷,但是这个地方附近有至少一个雷的话,只将当前的位置周围雷数显示出来。
3. 如果该处没有雷,并且附近也没有雷的话,就用一个循环或是递归的方法将它四周的没有雷的地方也显示出来。如果他四周的位置的四周也没有雷的话,继续这个过程,知道四周至少有一个雷时候停止。
玩家事件的处理:
玩家的事件有三种:单击,左右键同时点击,和右击。
单击可以想象成走到该处,如果有雷的话就游戏结束,没有的话就根据我以上讲的三点来判断该做什么。
左右键同时点击的话就将该处四周可能有雷的地方显示出来,如果玩家错将没有雷的地方放了小红旗的话,游戏结束。
右击是放小红旗。
当所有雷都被清楚的时候,游戏结束,玩家胜利。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |