资源简介 经典扫雷游戏项目第四讲: 游戏结束一、 课程目标1、掌握克隆体的应用,能够分析克隆体如何完成程序的调用;2、完成扫雷游戏中游戏失败,游戏胜利的效果以及重新开始游戏的功能。二、 课堂组织形式1、开放式问题讨论2、引导式思维发散3、问答式课堂互动4、针对问题探究实践5、学生动手制作项目6、课堂内容梳理巩固三、课堂准备编号 名称 内容 来源 备注【 1】 PPT 课件 课堂全流程演示文稿 火星科学盒官网【2】 课程资料 PPT 课件、讲义、视频 火星科学盒官网【 3】 教师参考程序 项目完整程序 网盘链接下载【4】 学生上课使用资料 笔记本电脑或者台式电脑 老师自备 电脑系统需求: win 10+,或 macOS 10.13+编程所需素材 网盘链接下载课堂报告 网盘链接下载【 5】 编程软件下载 scratch3.0 scratch 官网 课前下载安装四、主要脚本程序编号 详细内容 功能描述【 1】 “停止该角色的其他脚本” 停止指定角色的其他脚本的执行五、上课流程本节课包括 5 步具体流程:(1)第 1 步为程序复习。老师带领学生梳理分析作品中已经编写完成的程序及实现的功能。时长控制在 10 分钟内。(2)第 2~3 步为作品编程。实现选中有雷的方块时游戏失败的效果,完成所有无雷方块被点击后游戏胜利的效果,以及实现按下 黄脸按钮角色后重新开始游戏的功能。时长控制在 55 分钟内(3)第 4 步为拓展思考。 思考如何编写程序实现在第 1 次点击方块时不会选中雷。时长控制在 15 分钟内。(4)第 5 步为课堂总结, 知识图谱的形式总结课程内容,巩固重点知识点 。时长控制在 5 分钟内。上课步骤 主要内容 备注【第 1 步】 程序复习 【对应 PPT】“已实现的 功能” 【时长】 10min 【讲解】 1. 带领学生分析点击绿旗游戏开始时脚本的执行过程; 2. 带领学生复习设置雷的位置的脚本; 3. 带领学生复习如何完成方块的克隆,形成雷区; 4. 带领学生复习方块被点击以及按下空格键后实现的效果; 5. 分析游戏中还没有实现的功能是什么,引出本节课的编程任务【第 2 步】 作品编程 【对应 PPT】“游戏结束” 【衔接】 接下来实现游戏失败和游戏胜利的效果, 当点击的方块有雷时, 游戏失败, 应该停止执【时长】 30min 行。当没有雷的方块全部被找到时,游戏胜利,显示胜利的效果。 【讲解】 1. 带领学生分析导致游戏失败的条件以及游戏失败后的效果是什么; 2. 带领学生分析直接拼接 [停止该角色的其他脚本] 能否停止全部脚本能运行; 3. 讲解如何实现停止所有克隆体角色正在执行的脚本; 4. 讲解如何实现有雷的方块被点击时游戏失败的效果。 【制作】 学生编写程序,实现有雷的方块被点击时游戏失败的效果(程序样例见“第六部分 - 程序 1-1”) 【讲解】 1. 老师带领学生分析获取游戏胜利的条件以及游戏胜利时实现的效果; 2. 讲解判断游戏是否获得胜利的过程; 3. 讲解如何编写程序判断游戏是否获得胜利 【制作】 1. 学生完成判断游戏是否胜利的程序编写,以及游戏胜利时,方块脚本停止运行的效 果(程序样例见“第六部分 - 程序 1-2”) 2. 学生编写程序,实现点击角色后判断游戏是否胜利的功能(程序样例见“第六部分- 程序 1-3”) 3. 学生绘制表示游戏胜利的“win”角色 4. 编写程序,实现游戏胜利时,“win”角色显示的效果(程序样例见“第六部分 - 程 序 1-4”) 【总结】 以提问的形式带领学生总结实现任务六的编程思路【第 3 步】 作品编程 【对应 PPT】“重新开始” 【时长】 25min 【衔接】 当游戏失败或胜利后, 点击上方的笑脸按钮, 可以重新开始游戏, 接下来编写程序, 实 现游戏重新开始的功能。 【讲解】 老师带领学生分析游戏进行中, 游戏失败和游戏胜利时, 黄脸按钮角色分别显示的造型 是什么 【制作】 学生编写程序, 实现黄脸按钮角色的造型切换(程序样例见“第六部分 - 程序 2-1”) 【讲解】 老师带领学生分析如何实现点击黄脸按钮角色后开始游戏的功能 【制作】学生编写程序, 实现黄脸按钮角色被点击时发送广播, 以及方块接收到广播后开始游戏 的功能(程序样例见“第六部分 - 程序 2-2”) 【讲解】 带领学生运行程序进行测试, 分析为什么游戏失败或胜利时, 点击黄脸按钮后, 无法成 功实现游戏重新开始的功能 【制作】 1. 修改方块角色的脚本,完成点击黄脸按钮重新开始游戏的功能(程序样例见“第六 部分 - 程序 2-3”) 2. 修改“win”角色的脚本, 实现游戏开始后, 角色隐藏的功能(程序样例见“第六部 分 - 程序 2-4”) 【总结】 带领学生总结任务七中实现的主要功能【第 4 步】 拓展思考 【对应 PPT】“思考与拓 展” 【时长】 15min 【讲解】 1. 讲解如何将有雷的方块变成没有雷的方块; 2. 讲解如何判断是否是第 1 次点击方块; 【制作】 学生编写程序,点击方块后, 判断是否是第 1 个被点击的方块(程序样例见“第六部分 此部分为课堂挑 战,根据课堂实 际情况完成- 程序小挑战-1”) 【讲解】 讲解如何通过替换列表项,实现第 1 次点击方块时不会触发雷的功能 【制作】 学生编写程序,实现第 1 次点击方块时不会触发雷的功能(程序样例见“第六部分 - 程序小挑战-2”)【第 5 步】知识巩固 【对应 PPT】“总结与巩 固” 【时长】 5min 老师根据ppt 中的知识图谱回顾本节课的主要内容,带领学生完成知识总结六、主要程序说明任务六: 实现游戏失败和游戏胜利的效果程序样例编号 程序样例与说明 对应的角色1-1 【程序 1-1 描述】 当有雷的方块被点击时,播放爆炸的声音,实 现造型切换,之后广播游戏失败的消息。 【方块】【程序 1-1 描述】 所有克隆体接收到游戏失败的广播消息后,等 待一段时间,保证造型切换效果完成后,停止其他脚本的运行1-2 【程序 1-2 描述】 从第 1 项开始, 依次检测没有雷的方块显示的是 否是数字造型, 如果不是, 表示这个方块没有被找到, 游戏没有获 得胜利, 应该停止检测。当所有的方块都被检测完成且满足条件 时,表示游戏胜利,发送游戏胜利的广播消息 【方块】【程序 1-2 描述】 当接收到游戏胜利的广播消息后,等待胜利效 果完成,之后停止克隆体的所有其他脚本的运行1-3 【程序 1-3 描述】 当角色被点击后,检测游戏是否获得胜利 【方块】1-4 【程序 1-4 描述】 点击绿旗游戏开始时,移到初始位置并隐藏, 接收到游戏胜利的广播消息后,显示在舞台上 【角色 1】任务七: 按下黄脸按钮时游戏重新开始程序样例编号 程序样例与说明 对应的角色2-1 【黄脸按钮】【程序 2-1 描述】 游戏开始时,角色显示为笑脸造型,游戏失败 时,显示为“lose”造型,游戏胜利时,显示为“win”造型。2-2 【程序 2-2 描述】 当角色被点击后,广播“游戏开始”的消息, 并切换成笑脸造型 【黄脸按钮】【程序 2-2 描述】 当绿旗被点击后,设置变量的初始值,并广播 游戏开始的消息,接收到游戏开始的消息之后,开始游戏 【方块】2-3 【程序 2-3 描述】 当接收到游戏开始的广播消息之后,先删除游 戏中所有的克隆体,之后再重新开始游戏 【方块】2-4 【程序 2-4 描述】 接收到游戏开始的广播消息后,角色移到固定 位置并隐藏 【角色 1】小挑战: 编程实现第 1 次猜中方块时不触发雷程序样例编号 程序样例与说明 对应的角色小挑战-1 【程序 小挑战-1 描述】 游戏开始时,将变量“点击次数”的值 设为 0。 【方块】【程序 小挑战-1 描述】 每点击一次方块,就将变量的值增加 1【程序 小挑战-1 描述】 当被点击的方块处有雷时,判断是否是 第 1 个被点击的方块,如果不是,就实现游戏失败的效果。小挑战-2 【程序小挑战-2 描述】 方块被点击时, 判断是否有雷, 如果有雷, 那么判断是否是第 1 个被点击的方块, 如果不是, 游戏失败; 如果 是,就随机选择一个没有雷的方块变成有雷的方块, 之后将被点击 【方块】的方块变成没有雷的方块,最后重新检测被点击的方块。(共51张PPT)经典扫雷游戏游戏结束已实现的功能思考与拓展游戏结束重新开始总结与巩固已实现的功能1完成了哪些功能?程序梳理梳理《扫雷》游戏中已经完成程序及实现的功能游戏开始设置雷区方块的行数设置雷区方块的列数设置雷的总数列表存储方块的造型状态;初始状态是“造型9"设置雷分布的位置克隆方块生成雷区方块编号没有雷有雷列表项目数等于方块总数初始:列表项全部为0随机替换列表项,表示把雷放入雷区的随机位置雷的位置克隆方块第一个方块的位置使用变量为克隆体编号克隆的行数每一行方块的个数相邻的两个方块的间隔下一行第一个方块的位置克隆体的操作方块被点击时显示的是“造型9”检测方块处的状态是否有雷?有雷方块全部切换造型周围是否有雷?切换这个方块的造型继续检测周围方块是是否否克隆体的操作变量初始值等于雷的总数在方块处按下空格键时等待空格键抬起如果显示“造型9”(没有被标记)切换到“造型10”(添加标记)变量减1如果显示“造型10”(已被标记)切换到“造型9"(取消标记)变量加1未实现的功能游戏失败后没有停止游戏没有实现游戏胜利效果游戏结束2任务六:触发雷时,游戏失败停止;没有雷的方块全部被找到时,游戏胜利任务六游戏失败导致失败的条件:失败后的结果鼠标点击有雷的方块方块被点击后不再切换造型停止运行停止脚本可以实现游戏失败的效果吗?停止脚本为什么切换造型的脚本还在运行克隆的角色只有被点击的克隆体会停止脚本运行克隆的角色每个克隆体是一个单独的角色:每个克隆体执行的脚本是独立的被点击的克隆体停止脚本只有被点击的有雷的克隆体的脚本会停止停止脚本所有克隆体接收广播:时间延迟存在的问题:造型还没有切换完成,切换造型的脚本就被停止了解决的方法:添加等待时间,推迟命令的执行游戏失败Step1:点击有雷方块时,游戏失败游戏胜利游戏胜利的条件:没有雷的方块全部被找到胜利后的结果显示游戏胜利角色方块被点击后不再切换造型切换造型的脚本停止运行游戏胜利条件从第1个方块处开始,依次判断没有雷的方块是否显示数字造型:①是否有雷②没有雷的方块的造型是否是数字造型游戏胜利的条件:没有雷的方块全部被找到没有雷的方块的造型是“造型0"-“造型8"第一个方块没有胜利,停止检测下一个方块是否有雷?显示为数字造型?否否是是游戏胜利条件第一个方块没有胜利,停止检测下一个方块是否有雷?显示为数字造型?否否是是从第一个方块开始:方块处没有雷:方块显示为数字造型:检测下一个方块:游戏胜利Step2:检测游戏是否胜利自定义积木变量的初始值为1:从列表第1项开始检测全部列表项判断是否有雷判断是否切换了造型停止检测检测下一项广播胜利消息开始检测什么时候执行检测游戏是否胜利的脚本呢?游戏胜利效果绘制新角色:使用文本工具绘制角色,之后调整角色大小游戏胜利角色Step4:游戏胜利角色隐藏和显示任务总结第一个方块没有胜利,停止检测下一个方块是否有雷?显示为数字造型?否否是是1.游戏失败时,如何停止所有克隆体的脚本的执行?被点击的方块发送广播消息,所有克隆体接收到广播消息后,停止该角色的其他脚本2.如何检测游戏是否获得胜利?重新开始3任务七任务七:点击笑脸按钮时,重新开始游戏。切换造型试一试:编写程序,实现“黄脸按钮”角色的造型切换游戏开始后游戏失败后游戏胜利时切换造型Step1:“黄脸按钮”角色的造型切换点击按钮广播消息开始游戏Step2:接收到“游戏开始"的广播后开始游戏点击绿旗后同样开始游戏程序测试运行程序测试,有问题存在吗?为什么列表项目数增多?游戏开始所有克隆体都会接收广播消息并执行这组脚本,导致游戏出现问题广播消息删除克隆体删除全部克隆体先删除克隆体,再开始游戏Step3:接收广播后删除克隆体,之后开始游戏保证克隆体先被删除程序修改Step3:接收广播后,角色隐藏开始游戏广播消息删除全部克隆体开始游戏隐藏思考与拓展4第一次不踩雷如何保证在第1次点击的时候不点中雷呢?第一次不踩雷将有雷的方块变成没有雷的方块:第1次被点击此处有雷替换被点击的方块的列表项第一次不踩雷1.判断此处是否有雷:2.判断是否是第1个被点击的方块:①添加变量记录点击方块的次数②初始值:③方块被点击:变量值为1时,表示是第1个被点击的方块点击次数Step1:判断是否是第1次点击变成没有雷的方块改变方块状态随机选取没有雷的方块变成有雷的方块把被点击的方块变成没有雷的方块雷的总数不变改变方块状态Step2:替换列表项随机选取没有雷的方块变成有雷的方块将被点击的方块变成无雷的方块继续检测这个方块总结与巩固5 展开更多...... 收起↑ 资源列表 第4.docx 第4节-游戏结束.pptx