今天我们来做一款经典小游戏——扫雷

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

首先我们画出这个程序唯一的角色,它一共有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检测 上、左上、左

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

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

完成,有兴趣的话请关注微信公众号:

scratch编程——一个列表实现经典扫雷游戏相关推荐

  1. scratch经典扫雷游戏中实现点阵字库中文显示

    scratch克隆方式实现经典扫雷游戏 需兼容手机操作,未实现右键标记功能 scratch使用对话框方式显示文字,不支持在背景上直接显示文字 将中文点阵字库数据处理后导入链表变量中 代码实现画汉字串d ...

  2. 经典扫雷游戏的简单实现

    如果要盘点曾经深藏在电脑里的经典游戏,"扫雷"可以说是首当其冲,儿时之回忆,经典中经典. 所以,在学习编程打怪升级的过程中,有谁不想自己亲自实现一下扫雷游戏,重温童年回忆,致敬儿时 ...

  3. java制作扫雷游戏中埋雷的难点_Java 实现经典扫雷游戏

    最后一次更新于 2019/07/08 效果演示图 Java 实现经典扫雷游戏 本扫雷游戏有以下功能: 如果点中炸弹会显示炸弹. 玩家左键点击方块能显示该方块周围会出现几个炸弹,如果不存在炸弹的话扫描范 ...

  4. 逆向新手,经典扫雷游戏确定雷区地址的5个方法

    逆向新手,经典扫雷游戏确定雷区地址的几个方法 前言 逆向新手,经典扫雷游戏确定雷区地址的几个方法 一.通过相关的数据区来确定 结合CE实现 首先从数据结构去考虑,思考''雷''与''非雷''数据(还包 ...

  5. 经典扫雷游戏【C语言】【详解】

    大家好,今天将和大家一起来用C语言实现经典扫雷游戏~ 文章目录 一.游戏介绍 二.游戏整体框架 三.游戏具体各功能的实现 1)游戏菜单及流程 a)游戏实现思路 2)初始化棋盘 3)打印棋盘 4)布置雷 ...

  6. vue.js中经典扫雷游戏的实现

    可视化 (vue-defuse) An implementation of the classical minesweeper game in vue.js. vue.js中经典扫雷游戏的实现. Vi ...

  7. 基于jQuery经典扫雷游戏源码

    分享一款基于jQuery经典扫雷游戏源码.这是一款网页版扫雷小游戏特效代码下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <center><h1>jQ ...

  8. [安全攻防进阶篇] 一.什么是逆向分析、逆向分析应用及经典扫雷游戏逆向

    从2019年7月开始,我来到了一个陌生的专业--网络空间安全.初入安全领域,是非常痛苦和难受的,要学的东西太多.涉及面太广,但好在自己通过分享100篇"网络安全自学"系列文章,艰难 ...

  9. C语言数组—经典扫雷游戏

    目录 设计思路: 1. 简易游戏菜单 2. 游戏棋盘初始化 3. 游戏棋盘打印 4. 布置雷 5. 排查雷和胜利条件 6. 递归展开排雷 游戏测试 程序源码 看到这个经典的画面,是否会勾起你的回忆呢? ...

  10. 完全使用 HTML/CSS 实现的经典扫雷游戏

    大家好,我是你们的章鱼猫. 扫雷大家都玩过吧,Windows 里面的经典游戏.我记得上初中那会,上计算机课,都是偷偷玩这个游戏,怀念呀.但是不得不说,扫雷相比纸牌难度还是大一点的,毕竟还要费一点脑子的 ...

最新文章

  1. 深入分析SpringBoot源码如何内嵌Tomcat容器?
  2. 元组Tuple、数组Array、映射Map
  3. 不能创建Outlook邮件的解决办法
  4. VTK:相机模糊CameraBlur用法实战
  5. 【树链剖分】旅游(luogu 3976)
  6. python面向对象学习(七)单例
  7. Cortex-M3学习笔记(一)
  8. 陶老师ESD、EMI、EMC讲座
  9. 微软从 Engine Yard 手中收购容器平台 Deis
  10. 视频日志之android的总结与思考
  11. DHCP报文及其格式
  12. python有哪些学习内容_python学习内容包括哪些
  13. mipi两线接口_什么是MIPI接口
  14. android设置wifi蓝牙共享文件,无需互联网或蓝牙即可通过WiFi通过android共享文件...
  15. 零基础转行软件测试有前途吗?为什么说软件测试是极具发展前途的
  16. 电气simulink常用模块_支持PLC编程的5大电气语言,你会几种?
  17. Adobe Xd快捷键(Win 10)-UI设计更便捷
  18. 手机上如何学会使用计算机,手机如何投屏到win7电脑上_手机投屏到win7电脑的详细方法...
  19. 微信扫码支付流程原理图
  20. 【bzoj3926】[Zjoi20150]诸神眷顾的幻想乡 后缀自动机+trie

热门文章

  1. YUI Compressor 进行js/css文件混淆压缩
  2. 1. 安全测试法规和专业术语介绍
  3. 学计算机买什么书好,学电脑基础知识买什么书好?
  4. 什么专业的会学python语言_为什么要学习Python编程语言?哪些人适合学习Python?...
  5. ykhmi是什么触摸屏软件_YKBuilder(中达优控触摸屏编程软件)
  6. .NET Quartz 配置JOB
  7. 标准工时分析软件VIOOVI,适配现代化工业的人工智能软件
  8. 小米盒子显示连接服务器失败,小米盒子连接AirPlay失败的解决方法
  9. 收藏!韦东山所有课程详细目录介绍(最新)
  10. android字体设置