scratch编程——一个列表实现经典扫雷游戏[通俗易懂]

scratch编程——一个列表实现经典扫雷游戏[通俗易懂]今天我们来做一款经典小游戏——扫雷扫雷的玩法大家都知道,翻开一个格子,格子里也许是地雷也许是数字,如果是数字就表示以这个数字为中心,周边的八个格子里地雷的数量,要通过数字的提示按下所有安全的格子就算胜利!首先我们画出这个程序唯一的角色,它一共有13个造型:然后就开始编程了,首先是整体的布局,我们先用一个名为“地图”的列表来表示屏幕上10*10的格子,在列表里,我们用“0”表示空白,具体如下:“0”——空白“1”——1个地雷“2”——2个地雷“3”——3个地雷“4”——4个地雷“5”——

大家好,欢迎来到IT知识分享网。

今天我们来做一款经典小游戏——扫雷
在这里插入图片描述

扫雷的玩法大家都知道,翻开一个格子,格子里也许是地雷也许是数字,如果是数字就表示以这个数字为中心,周边的八个格子里地雷的数量,要通过数字的提示按下所有安全的格子就算胜利!

首先我们画出这个程序唯一的角色,它一共有13个造型:

图片

然后就开始编程了,首先是整体的布局,我们先用一个名为“地图”的列表来表示屏幕上10*10的格子,在列表里,我们用“0”表示空白,具体如下:

“0”——空白

“1”——1个地雷

“2”——2个地雷

“3”——3个地雷

“4”——4个地雷

“5”——5个地雷

“6”——6个地雷

“7”——7个地雷

“8”——8个地雷

“L”——地雷

“X”——按下的格子

一定要记清楚列表里的字符分别表示什么意思!

IT知识分享网

下面是总程序:

图片
这是主角色的程序,克隆体的程序最后在看,“当接收到……”的程序下面绿色的运算程序是这样的:

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检测 上、左上、左

有点复杂,这也是程序为什么这么长的原因。

克隆体的程序就不说了,直接看:

图片

图片

完成,有兴趣的话请关注微信公众号:在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/7254.html

(0)
上一篇 2023-01-04 12:50
下一篇 2023-01-04 13:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信