最近犯了个大错(在反思中),反思的同时,想着提升一下自己,因为自己在学校上机的时候,无聊喜欢用机房电脑玩扫雷(专业偏向硬件),就想写个扫雷小游戏,屡一下思维逻辑,开始自己的下一阶段。
话不多说,先来看下功能。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 吧