scratch扫雷制作完整教程和脚本代码素材下载SB3

本文介绍了Windows扫雷游戏的基本规则,如何利用一维列表模拟二维空间,包括行号和列号的计算方法,以及如何随机生成雷的分布和统计雷的数量。还讨论了地图生成的过程和点击雷的操作细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   

         

01

扫雷游戏规则

扫雷游戏每一台windows系统的电脑都有,是一个很简单很经典的益智类游戏,但我们不能小看它,小游戏蕴含大智慧!

最基本的规则:你点到一个数字,如果是3,那就说明最靠近他它周围的8个格里有3个雷。然后通过相邻或者相间的数字之间的交集来判断哪些是雷。如图,红圈的数字3,他周围的 上、下、左、右、四个斜角 ,是8个格,其中有3个格子是雷

02

前导知识:二维列表

列表只有一个维度,索引从1到N,就像一维的数轴。但人类已经习惯应对二维的情形(毕竟我们生活在更高维的三维空间中),如电子表格的单元格、种菜游戏的地皮、电影院的座位等。抽象来看,它都有相似的结构,即必须由行和列才能唯一确定其位置。

计算机的内存是线性一维的,没有二维内存的说法。所以计算机使用特定方法模拟出二维列表,配合一些操作约束,就可以使用行号和列号仿真二维操作(就像x/y坐标一样)。所以现在问题的本质便是,如何把一维列表的索引值(列表的项目号)转换为行号和列号。

综上所述,可以得到:

    索引值=(行号-1)*列数+列号

    行号=向上取整(序号/列数)

    列号=(序号-1)%列数+1

03

程序思路:地图数据

地图中雷的分布情况,我们使用一个列表来表示,-1表示有雷,0表示无雷。列表的长度为什么是100呢?因为是10行10列的地图。

思考:如何能够随机生成十个雷的一维列表呢?

04

程序思路:统计雷的数量

我们再回顾一下最基础的规则:你点到一个数字,如果是3,那就说明最靠近他它周围的8个格里有3个雷。然后通过相邻或者相间的数字之间的交集来判断哪些是雷。如图,红圈的数字3,他周围的 上、下、左、右、四个斜角 ,一共是8个格,其中有3个格子是雷

思考:遍历整个列表,如果当前元素为0,就要统计周围8个格子雷的个数,统计完了将当前元素替换成个数。

05

程序思路:地图生成

地图生成:只需要将地图克隆出10行10列来,一开始并不需要换成数字的造型。在克隆时,请注意需要需要使用私有变量将所有的克隆体进行编号,因为点击时才能知道点击的地图方块是雷还是什么数字?

思考:如何点击的雷,如何将所有的地图方块全部显示出来。

06

程序演示

07

scratch算法练习集免费领取(含程序)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值