资源简介 数字华容道项目第二讲: 数字块移动一、 课程目标1、掌握列表相关命令: 替换列表项,获取项目内容等命令的使用;2、学习交换两个列表项的实现思路以及编程方法;3、学习使用循环结构和选择结构完成列表项的依次对比。二、 课堂组织形式1、开放式问题讨论2、引导式思维发散3、问答式课堂互动4、针对问题探究实践5、学生动手制作项目6、课堂内容梳理巩固三、课堂准备编号 名称 内容 来源 备注【 1】 PPT 课件 课堂全流程演示文稿 火星科学盒官网【2】 课程资料 PPT 课件、讲义、视频 火星科学盒官网【 3】 教师参考程序 项目完整程序 网盘链接下载【4】 学生上课使用资料 笔记本电脑或者台式电脑 老师自备 电脑系统需求: win 10+,或 macOS 10.13+编程所需素材 网盘链接下载课堂报告 网盘链接下载【 5】 编程软件下载 scratch3.0 scratch 官网 课前下载安装四、主要脚本程序编号 详细内容 功能描述【 1】 “将(列表) 的第()项替换为 ()” 将列表中指定的一项改变成其他的内容【2】 “(列表)的第() 项” 根据列表的项目编号获取项目内容【 3】 “() =()” 左右两边的内容相等时,返回值为“True”, 左右两边的内容不相等时,返回值为 “False”【4】 “如果…那么…否则” 进行条件判断五、上课流程本节课包括 5 步具体流程:(1)第 1 步为思路分析。老师带领学生思考分析如何实现数字块向相邻的空格上移动, 分析编程思路和实现过程。时长控制在 15 分钟内。(2)第 2~3 步为作品编程。首先为学生讲解如何实现列表中的两个列表项交换, 之后编程实现相邻的数字块和空白块的位置交换,完成点击数字块后移动的功能。之后分析游戏成功的条件和结果,编程完成游戏成功的效果。 时长控制在 55 分钟内 (3)第 4 步为拓展思考。 添加数字块移动时的限制条件,保证只能和空白块相邻的数字块移动。时长控制在 10 分钟内。(4)第 5 步为课堂总结, 知识图谱的形式总结课程内容,巩固重点知识点。时长控制在 5 分钟内。上课步骤 主要内容 备注【第 1 步】 思路分析 【对应 PPT】“位置移动 分析” 【时长】 15min 【引入】 经过上节课的编程, 数字块已经随机出现在了对应的空格上, 生成了一个乱序的棋盘。 需要移动棋盘中的数字块, 才能将数字按照从小到大的顺序复原。所以制作数字华容道 游戏,还需要实现数字块的移动。 【讲解】 1. 讲解数字块移动方式 2. 讲解实现数字块移动的实现思路 3. 分析得出,需要先交换数字块和空白块对应的位置号,再进行位置移动 老师课前需要提 前准备好一副扑 克牌【第 2 步】 数字块移动 【对应 PPT】“数字块移 动” 【时长】 30min 【衔接】 实现数字块移动的思路已经分析完成了, 接下来就编写程序, 实现点击数字块时移动位 置,进行数字块排序的功能。 【讲解】讲解可以改变列表向内容的“将(列表)的第()项替换为()”命令的功能及使用。 【提问】 使用选择题考察同学们对这个命令的掌握情况 【讲解】 1. 分析列表项替换的错误编程方式会实现怎样的结果; 2. 使用国王交换宝箱内珠宝的例子讲解为什么会产生错误的结果; 3. 讲解实现两个列表项交换的正确方式及编程方法。 【制作】 学生拼接脚本, 实现数字 1 角色被点击时, 如果靠近空白块, 就和空白块交换位置号的 功能。(程序样例见“第六部分 - 程序 1-1”) 【讲解】 老师带领学生分析角色什么时候交换位置以及如何实现位置移动 【制作】 1. 学生编程实现数字 1 和空白块的位置交换(程序样例见“第六部分 - 程序 1-2”) 2. 为所有的数字块角色拼接脚本, 实现点击数字块移动的功能(程序样例见“第六部 分 - 程序 1-3”) 【总结】总结任务一中实现的角色功能及使用的主要脚本。【第 3 步】 游戏成功结 束 【对应 PPT】“游戏成功 结束” 【时长】 25min 【衔接】 当数字块按照从左到右, 从小到大的顺序依次排列时, 表示数字华容道已经复原成功, 玩家已经取得游戏胜利。在我们制作的游戏中也应该添加游戏胜利的效果。 接下来我们 就编写程序,实现游戏胜利的效果。 【讲解】 1. 老师带领学生分析游戏胜利的条件是什么; 2. 讲解对比位置号列表的内容, 判断游戏是否胜利的过程; 3. 讲解如何编程实现从第 1 项开始,依次对比位置号列表 4. 分析开始对比列表的事件和列表对比结束后的结果 【制作】 学生编写脚本, 实现判断游戏是否成功, 游戏成功时显示胜利的效果(程序样例见“第 六部分 - 程序 2-1”) 【总结】 总结任务二中实现的角色功能及使用的主要脚本。 【体验】 学生体验数字华容道游戏,比一比谁用的时间最短【第 4 步】 拓展思考 【对应 PPT】“思考与拓 展” 【时长】 10min 【讲解】 1.带领学生分析为什么和空白块角色处于对角位置的数字块也可以移动位置; 2.分析位置数字块移动的限制条件; 【制作】 编写程序, 添加限制条件, 避免对角位置的数字块移动。(程序样例见“第六部分 - 程 序 3-小挑战”) 此部分为课堂挑 战,根据课堂实 际情况完成【第 5 步】知识巩固 【对应 PPT】“总结与巩 固” 【时长】 5min 老师根据ppt 中的知识图谱回顾本节课的主要内容,带领学生完成知识总结六、主要程序说明任务一: 点击数字块向空白块方向移动程序样例编号 程序样例与说明 对应的角色1-1 【程序 1-1 描述】 当角色被点击时,如果角色碰到了空白块,数 字 1 对应的位置号,就和空白块对应的位置号进行交换。 【数字 1】1-2 【程序 1-2 描述】 角色被点击时,如果角色碰到空白块,就和空 白块交换位置号,发送移动广播后, 移动位置 【数字 1】【程序 1-2 描述】 接收到移动的广播消息后,角色移动位置 【空白块】1-3 【程序 1-3 描述】 角色被点击时,如果角色碰到空白块,就和空 白块交换位置号,发送移动广播后, 移动位置。 数字块任务二: 判断游戏是否成功, 游戏成功时显示胜利效果程序样例编号 程序样例与说明 对应的角色2-1 【程序 2-1 描述】 当角色被点击时,如果角色碰到了空白块,数 字 1 对应的位置号,就和空白块对应的位置号进行交换。 【角色 1】【程序 2-1 描述】 当绿旗被点击时,角色隐藏。角色接收到成功 消息后,显示在最前面,显示并停止全部脚本。 【游戏胜利】小挑战: 添加数字块移动的限制条件,保证只有和空白块相邻的数字块才能移动程序样例编号 程序样例与说明 对应的角色3-小挑战 数字块【程序 3-小挑战描述】 当角色被点击时,如果角色碰到了空白 块, 并且和空白块在同一列或同一行,那么就会和空白块交换位 置(共48张PPT)数字华容道数字块移动位置移动分析思考与拓展数字块移动游戏成功结束总结与巩固位置移动分析1位置移动数字块移动向空白块移动数字块只能向空格的方向移动数字块“空白块” 位置交换数字块移动1、什么时候移动?2、移动的条件3、怎样移动?鼠标点击数字块数字块和空白块相邻被点击的数字块和空白块进行位置交换位置交换方块的位置由“位置号”列表的内容决定交换列表“位置号”中的内容根据“位置号”中的内容移动角色位置列表内容交换①②③⑥⑤④⑦⑧⑨①②③⑥⑤④⑦⑧⑨总结角色被点击与空白块相邻?交换列表内容是否实现数字块移动,进行位置排序的流程移动角色位置不做反应数字块移动2任务一任务一:点击数字块位置,进行排序总结交换列表内容移动角色位置如何交换?列表中的某一项变成指定内容列表项替换原始列表如图所示,执行下图中的命令后,列表会变成( )ACBAD可以实现第一项和第三项内容交换么?列表内容交换列表的第1项交换列表的第3项第3项内容没有改变宝箱里的东西把金宝箱里换成银宝箱装的东西为什么没有变?把银宝箱里换成金宝箱装的东西列表内容交换原始列表:①②执行积木2时:执行积木1后:宝箱里的东西把新箱子里换成金宝箱装的东西把金宝箱里换成银宝箱装的东西把银宝箱里换成新箱子装的东西列表内容交换①②③如何实现列表中两项内容交换?建立变量,存储最先被换掉的列表项列表的第1项列表的第3项列表的第1项列表的第3项临时项交换替换替换赋值编程任务试一试:拼接脚本,实现数字1被点击时的列表项交换1.数字1和空白块相邻时才会交换2.实现列表交换需要添加新变量3.应该和空白块的位置号交换数字1被点击Step1:点击角色,判断条件,实现列表项交换角色移动哪些角色会移动位置?角色移动如何执行两个角色移动的脚本数字块空白块编程任务试一试:拼接脚本,实现数字1被点击时和空白块发生位置交换1.数字1和空白块相邻时才会交换2.数字1和空白块都会移动位置交换Step2:点击角色,判断条件,实现位置交换数字块移动角色被点击与空白块相邻?交换列表内容是否移动角色位置不做反应所有数字块角色试一试:为所有的数字块角色拼接脚本实现位置移动1.可以使用脚本复制的方式2.位置号和数字块——对应数字块移动Step3:点击角色,判断条件,实现位置交换位置号和数字块一一对应任务一总结实现功能:点击数字块时,如果数字块和空白块相邻,就交换数字块和空白块的位置。主要脚本:游戏成功结束3游戏胜利数字块从左到右,从小到大依次排列时,表示复原成功,取得游戏胜利任务二任务二:数字块复原完成后,显示游戏胜利的效果准备工作上传“游戏胜利” 角色思路分析如何判断游戏是取得胜利?游戏胜利的标志是?位置1位置2位置3位置6位置5位置4位置7位置9位置8数字块出现在对应的位置位置号第1项=1位置号第2项=2位置号第3项=3位置号第9项=9…列表对比如果那么 继续对比下一项否则 停止对比9次对比都符合条件游戏成功列表对比数字 :表示的是第几项第一次比较第二次比较比较9次= 1= 2是否是否+ 1+ 1…游戏胜利“位置号”发生变化开始比较完成比较胜利角色显示显 示新建变量在“角色1” 上拼接脚本新建变量应该选择哪个状态编程任务试一试:拼接脚本,判断游戏是否成功,游戏成功时“游戏胜利”角色显示,游戏停止1.需要使用到广播2.注意“游戏胜利”角色的初始状态游戏成功Step1:判断游戏是否成功,实现游戏胜利效果任务二总结实现功能:判断游戏是否取得胜利,游戏胜利时,胜利角色会显示,并停止整个游戏的运行。主要脚本:游戏体验体验数字华容道游戏,比一比谁的用时最短思考与拓展4程序调试为什么斜对角上的数字块也能移动呢?距离太近,满足限制条件方案一:增加方块间的距离方案二:添加限制条件和空白块相邻的数字块有什么共同特点?是和空白块对角的数字块没有的x坐标相同x坐标相同y坐标相同并且并且或限制条件总结与巩固5 展开更多...... 收起↑ 资源列表 第2.docx 第2节-数字块移动.pptx