小学高年级课后服务 scratch3.0编程课件 二阶课程 项目5水果连连看 第2节 消除检测课件(共49张PPT +教案)

资源下载
  1. 二一教育资源

小学高年级课后服务 scratch3.0编程课件 二阶课程 项目5水果连连看 第2节 消除检测课件(共49张PPT +教案)

资源简介

(共49张PPT)
水果连连看消除检测
角色数目
消除条件分析
思考与拓展
点击选择方块
水平方向检测
总结与巩固
消除条件分析
1
消除条件
满足哪些条件时,水果方块可以被消除
消除条件
1.两个水果方块先后连续被选中
2.两个水果方块的图案(造型)相同
3.两个水果方块可以被不经过其它方块的线条相连
方块被选中
方块被选中
第1次选中方块
第2次选中方块
默认值为0
当变量选择1和“选择2”的值都不为0时,表示选择了两个方块
图案是否相同
图案相同 造型相同 造型编号相同
能否相连
无法消除


水平相连 ?
垂直相连 ?
一个拐点 ?
两个拐点 ?
消除
消除
消除
消除






①可以水平相连
②可以垂直相连
③线条转一次弯(有一个拐点)④线条转两次弯(有两个拐点)
点击选择方块
2
任务二
任务二:鼠标点击选择两个方块,选中后判断图案是否相同
准备工作
选择方块
有可能是第几个被选中?
第1个被选中
第2个被选中
选择方块
Step1:鼠标点击选择方块
造型相同
连续选择2个方块
造型相同 ?
判断是否可以相连
取消选择


取消选择:
取消选择
这组脚本可以实现取消选择的效果吗 ?
取消选择
只有被点击的克隆体会执行
判断图案是否相同
Step2:判断图案是否相同
程序梳理
1.鼠标点击选择水果方块,并判断能否消除的流程是什么?
2.如何判断是第几次选择方块,选中方块时如何操作?
3.如何判断方块的图案是否相同,图案不相同时如何操作?
水平方向检测
3
任务三
任务三:检测被选中的两个水果方块能否水平相连
自定义脚本
水平检测
水平检测
需要检测哪些条件判断方块能否水平相连
两个被选中的方块必须在同一行
方块相邻?
能够消除


中间没有其他方块?
能够消除
进行其他检测


水平检测
垂直检测
位于同一行?
方块相邻?
中间无其他方块
消除






变量“检测结果”存储检测后产生的结果
暂时无法消除
可以消除
位于同一行
1/6=0.1666..
2/6=0.3333...
3/6=0.5
4/6=0.6666..
5/6=0.8333...
0~1之间的小数
向上取整
1/6 = 0.1666...
2/6 = 0.3333...
3/6 = 0.5
4/6 = 0.6666...
5/6 = 0.8333...
向上取整:(对小数)取比自己大的最小的整数
对整数向上取整,结果仍然是这个整数
向上取整
1
5
10
1
行数
向上取整
Step1:判断是否在同一行
比较大小
两个方块的序号差为1
两个方块相邻
差:大序号一小序号.
比较大小
Step2:比较数字大小
判断是否相邻
试一试:编写判断方块是否相邻的程序
比较大小
方块相邻?
中间无其他方块
消除




判断是否相邻
Step3:判断方块是否相邻
判断是否相邻
可以消除方块
检测结果
返回“检测结果”的值
根据“检测结果”的值判断能否消除
消除方块
取消选择
消除方块
标记方块已消失:
方块消失:
还原选择项:
消除方块
Step4:检测完成后执行对应结果
方块消除完成后执行其他操作
取消选择完成后执行其他操作
水平相连
造型编号为0
从第min+1项开始,一直到第max-1项
水平相连
temp+1
temp=max
temp=min+1
可以消除
停止检测




造型编号的第temp项=0
脚本简化
能否检测两个方块相邻的情况?
temp+1
temp=max
temp=min+1
可以消除
停止检测




造型编号的第temp项=0
水平检测
Step5:检测被选中的方块能否水平相连
默认为不能消除
检测是否在同一行
比较序号大小
不在同一行时,不能水平消除
判断能否水平相连
程序梳理
1.检测水果能否水平相连需要检测哪些条件?
2.如何计算水果方块所在的行数?
3.如何检测两个水果方块间是否有其他方块?
4.消除水果方块时应该进行什么操作?
·水果方块在同一行
·两个方块间没有其他方块
·行数=向上取整(克隆体序号/6)
·从min+1开始,依次检测“造型编号”的项是否为0,直到第max-1项
·删除被选中的克隆体
·将列表的对应项替换为0
·将变量“选择1”“选择2”的值设为0
思考与拓展
4
垂直检测


水平相连 ?
垂直相连 ?
消除
消除


1.检测水果能否垂直相连需要检测哪些条件?
2.如何计算水果方块所在的列数?
3.两个水果方块的中间方块是哪些?
·水果方块在同一列
·两个方块间没有其他方块
·列数=克隆体序号除以6的余数
位于同一列
列数
垂直相连
序号满足什么条件时,两个方块垂直相邻?
序号之间的差等于6时,两个方块相邻
垂直相连
如何判断两个方块能否垂直相连
temp+6
temp=max
temp=min+6
可以消除
停止检测




造型编号的第temp项=0
垂直检测
Step1:检测被选中的方块能否垂直相连
总结与巩固
5
角色数目水果连连看项目第二讲: 消除检测
一、 课程目标
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】 “( )/( )” 除法运算,前面填入被除数,后面填入除数
【4】 “向上取整( )” 对填入的数字进行向上取整运算
【 5】 “将(列表)的第( )项替换为 ()” 将列表的指定项替换为指定内容
五、上课流程
本节课包括 5 步具体流程:
(1)第 1 步为任务分析。老师带领学生分析连连看游戏中的水果方块被消除时需要满足的条件有哪些。引出本节课的编程任务。
时长控制在 10 分钟内。
(2)第 2~3 步为作品编程。带领学生实现鼠标点击选择方块,记录方块被选中的顺序的功能;之后检测两个方块之间能否用水平 的线相连。时长控制在 55 分钟内
(3)第 4 步为拓展思考。 思考如何实现检测两个方块之间能否用垂直的线相连的功能。时长控制在 15 分钟内。
(4)第 5 步为课堂总结, 知识图谱的形式总结课程内容,巩固重点知识点 。时长控制在 5 分钟内。
上课步骤 主要内容 备注
【第 1 步】 任务分析 【对应 PPT】“消除条件 分析” 【时长】 10min 【引入】 生成水果块方阵后, 玩家需要选择图案相同的水果方块, 把他们消除, 所以接下来需要 编写消除水果方块的程序。 【互动】 学生思考连连看游戏中消除水果方块时需要满足的条件 【讲解】 1. 老师讲解水果方块需要满足哪些条件才能够被消除; 2. 老师讲解满足什么条件时,方块被选中,以及如何存储被选中的克隆体的序号; 3. 讲解如何判断两个被选中的方块上的图案是否相同; 4. 讲解水果方块相连的四种方式,以及检测的过程。
【衔接】 判断方块能否消除的过程已经分析完成了, 接下来开始编写程序。先完成鼠标点击选择 方块,选中后判断图案是否相同的功能。
【第 2 步】 作品编程 【对应 PPT】“点击选择 方块” 【时长】 20min 【制作】 学生添加两个用于记录被选中的克隆体序号的变量, 并编写程序设置变量的初始值, 以 及克隆体的可拖动模式。(程序样例见“第六部分 - 程序 1-1”) 【讲解】 讲解方块被点击时, 可能被选中的次序。如何判断方块被选中的顺序, 以及方块被选中 后的操作 【制作】 学生编写程序, 实现鼠标点击选中方块, 以及记录方块被选中次序的功能(程序样例见 “第六部分 - 程序 1-2”) 【讲解】 1. 讲解两个方块被选中后,应该进行判断图案是否相同的操作; 2. 讲解如何实现两个方块图案不相同时,取消选择的效果; 3. 带领学生分析正确的编写脚本的方式;
【制作】 学生编写判断被选中的方块图案是否相同的程序, 并实现图案不相同时取消选择的功 能(程序样例见“第六部分 - 程序 1-3”) 【总结】 老师以提问的形式带领学生总结任务的实现思路和使用的编程脚本。
【第 3 步】 作品编程 【对应 PPT】“水平方向 检测” 【时长】 35min 【衔接】 当被选中的两个方块的图案相同时, 就可以检测是否能够相连, 首先进行水平方向的检 测,检测两个水果方块能否被水平方向的线条连接。 【制作】 1. 学生新建判断被选中的两个方块能否清除的自定义积木(程序样例见“第六部分 - 程序 2-1”) 2. 学生新建进行水平检测的自定义积木并调用(程序样例见“第六部分 - 程序 2-2”) 【讲解】 1. 讲解检测两个方块能否水平相连时需要检测哪些条件; 2. 讲解进行水平方向检测的过程; 3. 讲解如何判断两个水果方块是否位于同一行,以及如何根据序号计算所在的行数 【制作】
学生编写判断两个方块是否位于同一行的程序(程序样例见“第六部分 - 程序 2-3”) 【讲解】 讲解如何判断两个方块是否相邻 【制作】 学生定义比较两个方块序号大小的程序, 完成两个数字大小的比较(程序样例见“第六 部分 - 程序 2-4”) 【讲解】 讲解如何判断两个方块是否水平相邻 【制作】 学生编写程序,完成判断两个方块是否水平相邻功能(程序样例见“第六部分 - 程序 2-5”) 【讲解】 1. 老师讲解如何使用变量记录检测结果 2. 讲解如何实现方块被成功消除的效果 【制作】 学生编写程序, 实现两个图案相同的相邻的方块被先后选中后消除的效果(程序样例见 “第六部分 - 程序 2-6”)
【讲解】 1. 讲解水果方块不相邻时,如何判断方块之间能否用不经过其它方块的水平线相连 2. 讲解简化程序的方法 【制作】 学生编写程序,实现检测两个方块能否水平相连的功能(程序样例见“第六部分 - 程 序 2-7”) 【总结】 以提问的形式带领学生总结任务三中完成的功能效果、任务要求和编程思路
【第 4 步】 拓展思考 【对应 PPT】“思考与拓 展” 【时长】 15min 【讲解】 1. 老师带领学生分析进行垂直检测的条件,以及进行垂直检测的过程; 2. 讲解如何根据序号计算所在的列数 3. 讲解如何判断两个方块是否垂直相邻 4. 讲解如何判断两个方块是否能够垂直相连 【制作】 学生编写检测两个水果方块能否垂直相连的程序(程序样例见“第六部分 - 程序小挑 战”) 此部分为课堂挑 战,根据课堂实 际情况完成
【第 5 步】知识巩固 【对应 PPT】“总结与巩 固” 【时长】 5min 老师根据ppt 中的知识图谱回顾本节课的主要内容,带领学生完成知识总结
六、主要程序说明
任务二: 鼠标点击选择方块, 之后判断被选中的两个方块的图案是否相同
程序样例编号 程序样例与说明 对应的角色
1-1 【水果方块】
【程序 1-1 描述】 点击绿旗后,将两个变量的值设为 0 ,清空列 表后,向列表中添加 18 对随机数,打乱列表后,创建克隆体。 克隆体显示在舞台上,拖动模式为不可拖动,换成对应编号的造 型。
1-2 【程序 1-2 描述】 角色被点击时,如果变量“选择 1”的值为 0, 表示这是第一个被选中的方块,于是将它的序号存储在“选择 1”中,并将它的亮度设为-20。如果变量“选择 1”的值大于 0, “选择 2”的值等于 0,并且被选中的克隆体序号不等于“选择 1”的值,表示这个方块是第二个被选中的方块,所以把序号存 储在变量“选择 2”中,并把它的亮度特效设为-20。 【水果方块】
1-3 【水果方块】
【程序 1-3 描述】 选中第二个方块之后,判断两个方块的图案是 否相同,如果图案相同,就继续判断两个水果方块能否被清除, 否则的话,就广播“取消选择”的消息,所有的克隆体接收到广 播消息后,清除图形特效,把两个变量的值清除为 0。
任务三:检测被选中的两个水果方块能否水平相连
程序样例编号 程序样例与说明 对应的角色
2-1 【程序 2-1 描述】角色被点击后,使用变量记录被选中的方块的 序号。选中第二个方块之后,判断两个方块的图案是否相同,如 【水果方块】
果图案相同,就继续判断两个水果方块能否被清除,否则的话, 就广播“取消选择”的消息,所有的克隆体接收到广播消息后, 清除图形特效,把两个变量的值清除为 0。
2-2 【程序 2-2 描述】 定义水平检测两个方块的自制积木,在判断两 个方块能否消除时,调用水平检测的自制积木,并输入选择 1 和 选择 2 【水果方块】
2-3 【程序 2-3 描述】 进行水平检测时,首先将变量“检测结果”的 值设为 0,之后计算两个方块所在的行数,比较两个方块是否在 同一行,如果不在同一行,检测结果仍然是 0,也就是无法水平 相连。 【水果方块】
2-4 【程序 2-4 描述】水平检测时,如果两个方块位于同一行,就比 较被选中的两个方块的序号的大小 【水果方块】
【程序 2-4 描述】比较两个数字的大小,将较小的数字存储在变 量“min”中,较大的数字存储在变量“max”中
2-5 【程序 2-5 描述】进行水平检测时,首先将变量“检测结果”的 值设为 0,之后计算两个方块所在的行数,比较两个方块是否在 同一行,如果在同一行,就比较两个方块序号的大小,之后判断 方块是否水平相邻,如果水平相邻,表示可以消除。 【水果方块】
2-6 【水果方块】
【程序 2-6 描述】 检测两个水果能否消除,之后根据变量“检测 结果”的值判断消除方块还是取消选择。消除方块时,需要删除 被选中的方块,它对应的“造型编号”也变成 0,两个选择变量 也清零
2-7 【程序 2-7 描述】 进行水平检测时,首先将变量“检测结果”的 【水果方块】
值设为 0,之后计算两个方块所在的行数,比较两个方块是否在 同一行,如果在同一行,就比较两个方块序号的大小,之后判断 两个方块是否相邻或是否能够水平相连,生成检测结果
小挑战:检测被选中的两个水果方块能否垂直相连
程序样例编号 程序样例与说明 对应的角色
小挑战 【程序小挑战描述】经过水平检测后,如果变量“检测结果”的 值仍然是 0,就进行垂直检测 【水果方块】
【程序小挑战描述】进行垂直检测时,首先将“检测结果”的值 设为 0,之后判断两个方块是否在同一列,如果在同一列,就判 断是否垂直相邻,或是否能够垂直相连。检测之后,将“检测结 果”设定为对应的值。

展开更多......

收起↑

资源列表