小游戏 扫雷的制作思路

扫雷的规则这里就不介绍了

具体思路就是这下面的6张图。
在这里插入图片描述
分析
第一张图 -----扫雷游戏的棋盘
初始化一个二维数组。全部填充0。
注意 这里为了方便处理,需要把 最外面一圈当成边界。
可以给他填充一个数字 -2之类的

第二张图 ---- 初始化雷区
使用随机函数 产生行列索引。吧有雷的地方 赋值为-1

第三张图 ----初始化一个格子 附近有多少个雷。
用2个for 循环进行二位数组遍历,统计当前位置 附近的8个方向有多少个雷[有多少个-1],然后写进去。

第4张图 ------开始游戏,点击一个方块后的行为‘
首先把点击的方块转化为 行列 。便于我们对二维数组进行操作。
判断 当前位置的类型。
如果 是-1 也就是雷 就 直接暴毙
如果是 数字 就只打开当前格子
如果 是 空,就执行下一张图。

第5张图 ----点击的方块,方块的内容是0的行为
以当前为起点,进行 图的遍历。(建议广度优先遍历)
吧所有的内容 都存入一个 数组。
【为什么要这样子呢?看图我们会发现,黄色的区域就是遍历后的结果,对于游戏的效果就是 所有空白的方块一定会被打开】

第6张图 -----确定最终需要打开的内容
吧上面的那个数组。进行全部遍历。
对每个位置 进行 + 型的扩展。 吧扩展的内容+原先的那个存了 数字为0的数组 存入一个新数组
这个数组就是我们所求得的应该打开区域。

可以看到 游戏的核心就是对于这个二维数组的维护。
接下来 添加控件,按钮 什么的 只是为了 获得 信息 从而把 信息反映到对应二维数组上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值