软件编程系列课讲义
Scratch前置课第三讲:打地鼠
一、教学目标
1、掌握如果…那么…否则、换成()造型、…与…、等待()秒、变量【将()设为()、将()增加()】等积木脚本;
2、学习播放声音()积木的使用。
二、主要程序脚本
编号
详细内容
功能描述
【1】
“如果…那么…否则”
进行条件判断,条件为真时执行第一个空格内的脚本,不为真则执行第二个空格内的脚本
【2】
“按下鼠标”
用于感知鼠标左键是否被按下
【3】
“换成()造型”
让角色切换到指定造型
(可选选项为角色的造型名称)
【4】
“重复执行”
该积木内的脚本一直不停执行,除非遇到结束标志或者强制停止
【5】
“…与…”
用于检查两个或多个条件是否同时为真
【6】
“碰到()”
用于感知角色是否碰到鼠标指针、舞台边缘或其他角色
(可选选项为:鼠标指针、舞台边缘、其他角色名称)
【7】
“播放声音()”
播放指定的声音,声音开始播放就执行后面的脚本
(可选选项为角色中的声音名称)
【8】
“将()设为()”
用于给指定的变量设置为指定的字符串或数字
(变量选项为建立的变量名;设为数字时舞台区小数点后可显示六位)
【9】
“将()增加()”
按给定的值更改指定变量
【10】
“等待()秒”
在指定时间内暂停脚本执行
(时间赋值范围为:)
三、课堂准备
编号
名称
内容
来源
备注
【1】
PPT课件
课堂全流程演示文稿
火星科学盒官网
【2】
课程资料
PPT课件、讲义、视频
火星科学盒官网
【3】
学生上课使用器材
笔记本电脑或者台式电脑
老师自备
电脑建议使用Windows系统,苹果电脑和Linux系统需要从官网上单独下载对应的软件
打地鼠初始程序
网盘链接下载
【4】
编程软件下载
Scratch3.0
火星科学盒官网
火星科学盒官网在线编辑版
离线下载版
安装好后测试一下是否可以使用
四、上课流程
本节课包括8步具体流程:
(1)第1步为导入部分,通过让学生描述打地鼠游戏的玩法,引入本节课项目主题,确定本节课目的。时长控制在10分钟内。
(2)第2步为角色功能分析,通过复述刚刚学生的游戏描述,分析本节课用到的角色和每个角色的效果,进行任务拆分。时长控制在5分钟内。
(3)第3-7步为项目制作,实现按下鼠标击打锤子效果,之后实现锤子打中地鼠后地鼠造型切换、发出声音和增加得分的效果。学习条件判断和造型切换的脚本,在脚本拼接过程中强化重复执行与条件判断积木的组合使用。复习程序的实现效果和实现方式,梳理逻辑思路,巩固积木用法。作品完成后学生试玩游戏。时长控制在65分钟内。
(4)第8步为课堂总结,总结本节课的重点积木脚本。时长控制在10分钟内。
上课步骤
主要内容
备注
【第1步】引入
【对应PPT】“开始页”部分
【时长】10min
【话术】老师最近遇到了一点儿小麻烦,我的好朋友xxx这几天想玩一个叫打地鼠的游戏,因为她知道我会制作游戏,所以就请我帮忙,说“XX老师,你那么厉害,就帮我做一个打地鼠的游戏吧。”看她特别想玩,于是我就答应了。但是,我没有玩过打地鼠的游戏,不知道是什么样子的,这怎么办呢?小朋友们有没有玩过打地鼠的游戏,能描述一下这个游戏是怎么玩的吗?(学生描述打地鼠游戏,老师复述一遍)
用提问的形式让学生自己描述玩过的打地鼠游戏,在描述过程中注意引导总结出现的角色和角色出现的动作。
【第2步】角色功能分析
【对应PPT】“项目拆解”页
【时长】5min
【总结】在打地鼠游戏中有两个角色,一个是地鼠一个是锤子。锤子在打地鼠时会抬起和落下,地鼠被打中之后可能会躲起来,也可能会变换表情、发出叫声。
【衔接话术】那我们今天就一起来帮XXX完成这个打地鼠的游戏。既然有两个角色,咱们就分两个任务来完成,任务一:制作按下鼠标时,锤子落下击打地鼠的效果;任务二:地鼠被打中后造型改变,发出声音并得一分。
【第3步】按下鼠标锤子做出击打动作
【对应PPT】锤子做出击打动作
【时长】15min
【衔接话术】同学们还记得如何打开作品吗?先把第3课打地鼠的初始程序上传到scratch中。(等待学生上传程序)
【提问】任务一是实现按下鼠标时锤子落下的效果,也就是为锤子添加积木,那我们首先应该在角色区选中哪个角色呢?(学生回答)
【总结】为锤子添加积木时,首先要在角色区选中锤子。
【衔接话术】选中锤子后,接下来就是添加积木实现锤子抬起和落下的效果。如何实现呢?
【讲解】打开左侧锤子的造型界面,可以看到锤子有两个造型,造型1是锤子抬起来的造型,造型2是锤子落下去的造型。
【提问】现在用鼠标控制锤子,实现按下鼠标后锤子落下去的效果,那按下鼠标时,锤子是切换成造型1还是造型2呢?(学生回答)
【讲解】按下鼠标时锤子落下去,也就是切换成造型2,没有按下鼠标时锤子切换到造型1。使用积木语言描述就是“如果按下鼠标,那么换成造型2,如果没有按下鼠标,那么换成造型1”。
【衔接话术】我们在上节课中已经使用了“如果…那么”这块积木,但是在控制分类里,并不能找到“如果没有…那么”这个积木,怎么办呢?
【讲解】虽然没有“如果没有…那么”,但是在控制分类里有“如果…那么…否则…”,在这个积木中,“否则”就是“如果没有…那么”的意思。也就是说,“如果按下鼠标,那么换成造型2,否则换成造型1。”根据这句话,可以找到控制分类里的“如果…那么…否则…”,侦测分类里的“按下鼠标”和外观分类里的“换成()造型”积木。小朋友们自己尝试把他们拼接起来。(等待学生拼接积木)(程序样例见“第五部分
程序1-1”)
【提问】把这组积木单独放在脚本区,可以自己运行吗?(学生回答)
【总结】需要添加“当小绿旗被点击”积木,点击小绿旗后执行这组积木脚本。
【提问】添加“当小绿旗被点击”后可以实现按下鼠标后锤子落下的效果吗?还缺少什么积木?(学生回答)
【总结】需要添加“重复执行”积木,不停地判断鼠标有没有按下,才能实现鼠标控制锤子击打的效果。
【讲解】在锤子角色中已经存在一组积木,这组积木实现了锤子一直跟随鼠标移动的效果。在这组积木中已经存在了“重复执行”,所以可以直接把刚刚拼好的“如果按下鼠标那么切换造型2否则切换造型1”的积木直接放在这个“重复执行”内,实现锤子击打效果。(程序样例见“第五部分
程序1-2”)
1.以提问的形式让学生独立上传初始程序;
2.强调在为一个角色拼接积木前,必须在角色区选中这个角色;
3.在造型界面观察完锤子的造型后,提醒学生返回代码界面拼接脚本积木。
【第4步】任务一梳理
【对应PPT】任务一梳理
【时长】5min
【提问】在任务一中为哪个角色实现了什么效果?(学生回答)
【总结】在任务一中实现了按下鼠标锤子落下,没有按下鼠标时锤子保持抬起的效果。
【提问】如何实现锤子抬起落下的效果?(学生回答)
【总结】通过侦测有没有按下鼠标,按下鼠标时切换锤子造型实现的。
【提问】判断鼠标按下时切换到造型2,没有按下鼠标时切换到造型1的积木是哪个?(学生回答)
【总结】“如果…那么…否则…”积木,如果按下鼠标那么换成造型2否则换成造型1。
【提问】用来切换角色造型的积木是哪个?(学生回答)
【总结】“换成()造型”
【提问】侦测鼠标有没有按下的积木是什么?(学生回答)
【总结】“按下鼠标”
1.在提问过程中可以进行引导性提示;
2.“如果…那么…否则…”积木的提问重点是,满足条件时应该执行那么后面的还是如果后面的命令。
【第5步】锤子击打地鼠
【对应PPT】锤子击打地鼠
【时长】30min
【衔接话术】现在我们已经可以用鼠标控制锤子去打地鼠了,但是地鼠被锤子打中之后好像没有任何的反应,下面我们就来为地鼠添加一组积木,实现地鼠被锤子打中后改变表情、发出声音等效果。首先我们来思考第一个问题:地鼠什么时候才算真正的被打中。
【提问】在A、B、C这三个图片中,哪个图片中的地鼠真的被打中了?(学生回答)
【总结】B图片中的地鼠是被打中的地鼠,在A图片中,锤子落下了,但是地鼠没有碰到锤子;C图片中,地鼠碰到锤子了,但是锤子没有落下;只有B图片中锤子落下了,并且地鼠碰到了锤子。这个时候,地鼠才真正的被打中了。所以说,必须满足锤子落下和地鼠碰到锤子这两个条件,地鼠才算被打中。
【提问】我们做什么动作时锤子会落下呢?(学生回答)
【讲解】按下鼠标时锤子落下,所以按下鼠标和地鼠碰到锤子时地鼠被打中,这句话可以分别用侦测分类里的“按下鼠标”,运算分类里的“…与…”,侦测分类里的“碰到锤子”表示。(等待学生拼接积木)(程序样例见“第五部分
–
程序2–1”)
【衔接话术】现在地鼠被打中了,那它被打中之后会做出什么反应和变化呢?现在小地鼠好像很开心,一直在笑,那它被打中之后肯定不会这么开心了。
【讲解】打开地鼠的造型界面,地鼠角色也有两个造型,造型1是笑的表情,造型2是哭的表情。如果地鼠被打到,那么地鼠会哭,否则地鼠会笑。也就是说,如果地鼠被打到,那么换成造型2,否则换成造型1。
【衔接话术】刚刚我们已经拼好了侦测地鼠被打到的积木,下面回到地鼠的代码界面,使用“当小绿旗被点击”、“如果…那么…否则…”和“换成()造型”积木实现小地鼠被打中后切换造型的效果。(等待学生拼接)(程序样例见“第五部分
–
程序2-2”)
【提问】使用这组积木地鼠被锤子打到后会有造型变化吗?还缺少什么积木?(学生回答)
【总结】需要在“如果…那么…否则…”这组积木的外面添加“重复执行”积木。(程序样例见“第五部分
–
程序2-3”)
【衔接话术】地鼠被打中后从笑变成了哭,我们可不可以添加播放声音的积木让地鼠被打中后发出声音呢?
【讲解】使用声音分类中的“播放声音()”积木可以让地鼠发出声音。
【提问】地鼠被打中之后才发出声音,那“播放声音()”积木应该放在什么位置呢?(学生回答)
【总结】“播放声音()”积木应该放在“如果…那么…否则…”积木中那么的后面,满足如果后的“按下鼠标与碰到锤子”条件时会执行那么后面的积木,也就是播放声音,换成造型2。(程序样例见“第五部分
–
程序2-4”)
【衔接话术】地鼠被打到之后可以做出反应了,既然我们是在做一个打地鼠的游戏,可不可以添加得分记录打中地鼠的分数呢?
【提问】得分是一个变化的值,同学们还记得用什么来记录得分吗?(学生回答)
【总结】使用变量来记录得分。
【衔接话术】同学们自己建立一个变量——得分,建立完成后思考一下如何实现游戏开始后,得分从0开始增加,地鼠被打中后得分加1的效果。(等待学生建立变量,拼接积木)
【讲解】需要把“将得分设为0”积木放在“当小绿旗被点击”积木下方,为得分设置一个初始值。“将得分增加()”积木放在那么后面的空格中,地鼠被打中后得分增加。(程序样例见“第五部分
–
程序2-5”)
【衔接话术】同学们拼接完成后点击小绿旗运行一下,看一下地鼠被打中一次时得分是增加了1分,还是会增加很多分。(等待学生演示观察)
【讲解】地鼠被打中之后不止增加了1分,会增加很多分,这是什么原因造成的呢?是因为积木脚本执行的速度太快了,在我们打中地鼠时,积木不止执行了一次,而是执行了很多次,也就是我们虽然看到只打中了一次地鼠,但其实脚本已经侦测到了很多次地鼠被打到,所以会增加不止一分。可以打开计时器,在打地鼠的过程中观察计时器数字的变化,锤子落下一次,计时器会增加非常多数字,这说明,我们拼接的积木也执行了很多很多次。我们可以在打中地鼠时让积木停留1秒钟,不再侦测地鼠有没有被打到,就可以避免一次增加很多分。这里使用的是控制分类中的“等待1秒”积木,把它放在“那么”空格中的最下面。(程序样例见“第五部分
–
程序2
–
2.6”)
1.注意提示学生现在角色区选中地鼠角色;
2.在提问学生哪个图片中的地鼠被打中时让学生自己分析不选其他两个选项的原因;
3.分析地鼠造型时可以引导学生主动分析;
4.在添加变量得分的相关积木时,引导学生独立思考积木放置的位置,复习变量的使用。
【第6步】任务二梳理
【对应PPT】任务二梳理
【时长】5min
【提问】在任务二中为哪个角色实现了什么效果
【总结】任务二实现了地鼠被锤子打到后切换造型、发出声音和得分增加的效果。
【提问】地鼠满足什么条件时相当于被打到,被打到后会执行什么积木?
【总结】按下鼠标与碰到锤子同时满足时地鼠被打到。地鼠被打到后会换成造型2造型,播出声音以及将得分增加
【提问】两个条件都要满足时进行连接的积木
【总结】“…与…”积木连接两个同时满足的条件
【提问】用来播放声音的积木
【总结】“播放声音()”
【提问】游戏得分增加的积木
【总结】“将得分增加()”
在提问过程中可以进行引导性提示。
【第7步】小挑战
【对应PPT】动手编程
【时长】5min
【衔接话术】在背景中有一组积木,实现了计时器>20时游戏停止的效果,同学们可以再添加积木,实现计时器>20,并且得分<10时游戏停止的效果吗
【讲解】必须同时满足“计时器>20”和“得分<10”时游戏才会停止,因此需要用“…与…”积木把这两个条件连接起来。(程序样例见“第五部分
–
程序2-小挑战”)
根据课堂时间,如果时间不够的话,该挑战任务可以省略掉。
【第8步】总结与巩固
【对应PPT】总结与巩固
【时长】10min
【衔接话术】
在这节课中我们制作了打地鼠小游戏,实现了使用鼠标控制锤子抬起落下的效果,以及地鼠被打中后切换造型、发出声音和得分增加的效果。下面,老师来考考大家,看看大家在这节课中学到了多少知识。
【知识点巩固】
老师以提问的方式进行复习。
1.各个脚本的作用分别是什么?
2.各个脚本在本节课中实现了什么样的效果?
【我问你答】
Q.
哪个选项成立时换成地鼠背景?
A.
计时器=50
得分=3
B.计时器=10
得分=5
C.计时器=30
得分=10
D.计时器=60
得分=20
A.答案是B选项
解析:满足如果后面的条件时换成地鼠背景,因此计时器<50并且得分<10的时候换成地鼠背景。
五、主要程序说明
程序样例编号
程序样例与说明
对应的角色
1-1
【程序1-1描述】如果按下鼠标,锤子换成落下去的造型,否则,锤子一直保持抬起来的造型。
【锤子】
1-2
(任务1的最终版程序)
【程序1-2描述】锤子的图层移到最前面,之后一直跟随鼠标指针移动。持续判断鼠标左键有无按下,如果按下,换成造型2落下去的造型,否则保持造型1抬起来的造型。
2-1
【程序2-1描述】按下鼠标与碰到锤子两个条件同时满足。
【地鼠】
2-2
【程序2-2描述】运行游戏后,侦测一次有没有按下鼠标并且地鼠碰到锤子,如果满足条件,地鼠换成造型2,如果不满足,地鼠保持造型1。
2-3
【程序2-3描述】游戏运行后,持续侦测有没有按下鼠标并且地鼠碰到锤子,如果满足条件,地鼠换成造型2,如果不满足,地鼠保持造型1。
2-4
【程序2-4描述】游戏运行后,持续侦测有没有按下鼠标并且地鼠有没有碰到锤子,如果满足条件,地鼠发出声音并换成造型2,如果不满足,地鼠保持造型1。
2-5
【程序2-5描述】游戏运行后,得分初始化为0,持续侦测有没有按下鼠标并且地鼠有没有碰到锤子,如果满足条件,得分增加(可能增加不止1分),地鼠发出声音并换成造型2,如果不满足,地鼠保持造型1。
2-6
(任务2的最终版程序)
【程序2-6描述】游戏运行后,得分初始化为0,持续侦测有没有按下鼠标并且地鼠有没有碰到锤子,如果满足条件,得分增加1,地鼠发出声音并换成造型2,如果不满足,地鼠保持造型1。
2-小挑战
【程序2-小挑战描述】游戏运行后,换成地鼠背景,持续判断计时器是不是大于20并且得分小于10,满足条件时换成地鼠2背景,并停止游戏
【背景】