今天我们来做一款经典小游戏——扫雷
扫雷的玩法大家都知道,翻开一个格子,格子里也许是地雷也许是数字,如果是数字就表示以这个数字为中心,周边的八个格子里地雷的数量,要通过数字的提示按下所有安全的格子就算胜利!
首先我们画出这个程序唯一的角色,它一共有13个造型:
然后就开始编程了,首先是整体的布局,我们先用一个名为“地图”的列表来表示屏幕上10*10的格子,在列表里,我们用“0”表示空白,具体如下:
“0”——空白
“1”——1个地雷
“2”——2个地雷
“3”——3个地雷
“4”——4个地雷
“5”——5个地雷
“6”——6个地雷
“7”——7个地雷
“8”——8个地雷
“L”——地雷
“X”——按下的格子
一定要记清楚列表里的字符分别表示什么意思!
下面是总程序:
这是主角色的程序,克隆体的程序最后在看,“当接收到……”的程序下面绿色的运算程序是这样的:
y坐标减去90的差除以20后的绝对值乘10加上x坐标减去-90的差除以20后的绝对值加1
(|(y-90)/20|*10)+(|(x-(-90))/20|+1)
再不清楚就没办法了
然后是绿旗子下的自定义模块"布局",勾选运行时不刷新屏幕!
具体如下:
我们理一下程序的逻辑:我们给扫雷的地图表上号,按从上往下,从左往右的方式标号,分别对应列表里的项数。在列表排列好所有的空白后,把地雷(L)埋进去,再从头开始,列表里如果是0(空白)就左上,上,右上,左,右,左下,下,右下的侦测,有几个雷就将原先的空白变为几,完成后再检测下一个。但要注意,边上和角落里的方块需要特殊处理,我们把所有格子分为9块:
除5以外,其他的全部特殊处理:
1检测 右、下、右下
2检测 左、左下、下、右下、右
3检测 左、下、左下
4检测 上、右上、右、右下、下
5检测 全部
6检测 上、左上、左、左下、下
7检测 上、右上、右
8检测 左、左上、上、右上、右
9检测 上、左上、左
有点复杂,这也是程序为什么这么长的原因。
克隆体的程序就不说了,直接看:
完成,有兴趣的话请关注微信公众号: