java代码实现扫雷小游戏

最近犯了个大错(在反思中),反思的同时,想着提升一下自己,因为自己在学校上机的时候,无聊喜欢用机房电脑玩扫雷(专业偏向硬件),就想写个扫雷小游戏,屡一下思维逻辑,开始自己的下一阶段。

话不多说,先来看下功能。10x10的地图,用户输入下标x(0-9) , y(0-9),翻开这个位置

(我本人是做 java ee后台开发的,所以这里就没有使用swing窗口美化(因为我也没学过),这里就直接实现里面的算法思维)

扫雷我设置了20个雷,row * col * 0.2;

用户输入后,翻开该处的坐标

没有踩雷,程序继续进行

用户继续输入,此时我输入 x=1,y=1,下标 (1,1)为空地,这时就会翻开一片空地,和数字

这时仍没有踩雷,程序继续

这时我输入 x = 8,y = 1(玩过扫雷的兄弟应该能看出来,此处必定是雷)

可以看到,中雷,游戏结束,同时翻开所有的雷。

那么如何赢得本局游戏呢?

当然,翻开所有的区域,没有中雷,即可赢得,这里我重新设置了一下雷的数量,只为测试一下功能(这里只设置了5个雷)

重新跑一下程序,当用户输入(0,0)时

可以看到,游戏取得胜利

总结一下

这里有几个地方需要注意的

首先第一点就是,初始化雷的位置(随机产生),使用for循环,循环10次(雷的数量),产生10个雷,但这里很有可能就是,你随机产生的地方 他已经存在雷了,这个时候应该怎么办呢? emmmmm,这里我选择 i - - ;让他再循环一次

第二点呢,就是在雷的周围会显示数字,以雷为中心的九宫格,但若是雷在边界上,这点我们应该考虑上

还有一点,就是点击到空地的时候,我们应该翻开一大片 空地,直到出现数字(出现的第一个数字也应该翻开)。这里我选择,用户输入 x,y坐标,若为空地,使用方法进行迭代一次

再说一下定义的实体类(注释很清楚,这里我就不一一说明了哈)

总的来说呢。。。这个扫雷小游戏呢,,,花了我大概一下午时间(可能是我太菜了)

逻辑思维还是需要提高的,也算是巩固一下自己吧

最近呢,还有接近10天就要期末考试了,还有三本天书没看,书上的符号我都不认识。。。

果然数学的 尽头,,就是没有数字。。。。

还得继续努力,有句话叫做,万一路的尽头,是你呢,。。加油吧,先把期末过了,希望半年后,我再来看,会 感觉像 1 + 1 吧

经验分享 程序员 微信小程序 职场和发展