【Scratch课件-广播并等待】百米赛跑

一份问卷调查,期待听到您的声音


 

课件自评:

 

 

 

知识基础:

滑行、说话、点击事件、普通广播

 

故事背景:

学校里正在举行一年一度的运动会。同学们都非常踊跃地参加了各种运动项目,有短路、长跑、接力跑、跳绳、投篮、跳高等……小熊报了一项他最喜欢的百米短跑比赛。跟小熊一起参加百米赛跑的还有小狗和甲壳虫。企鹅宝宝是这次赛跑比赛的发令员兼裁判员。

 

作品效果要求:

单击企鹅,它就发出“比赛开始”的指令,小熊、小狗、甲壳虫开始朝终点线跑去。当所有的比赛选手都到达终点线时,企鹅宣布“比赛结束”。

 

 

课堂教学流程:

 

这是我们拿到的空白程序:小熊、小狗、甲壳虫是运动员,企鹅是裁判。它们的位置都用代码放好了。终点线也做成了一个角色,它的位置也OK了。

 

 

 

单击企鹅时,宣布“比赛开始”,三位选手起跑。最后一位到达终点线时,企鹅宣布“比赛结束”。

 

在这个过程中,我们单击企鹅,怎么才能让三位选手一齐起跑呢?

 

(请同学们先回答这个问题后继续后面的内容)

要让三位选手听到“比赛开始”时一齐起跑,需要用到哪一个编程概念呢?

A. 循环

B. 广播

C. 条件

 

上节课我们已经学过了“广播”。这里我们需要让企鹅发令,其他几个角色同时执行动作,正好可以用上“广播”——它可以让一个角色向其他角色(或背景)发送消息。

 

其他几个角色收到这个消息时,纷纷开始朝右运动(滑行)就可以了。

 

这里大家先回答老师一个问题:

(请同学们先回答这个问题后继续后面的内容)

要让每位选手都朝右边的终点线角色运动,用哪个代码块更好?

A. 在……秒内滑行到……

B. 在……秒内滑行到x:……y:……

 

这个问题,老师其实是考一考大家,对终点线这个角色位置的掌握。它的位置其实只用一个点的坐标来表示,在我们的代码里就是x:220, y: 0。

 

如果大家选用A,让每位选手都滑行到“终点线”这个角色的话,那么大家都会朝x:220, y:0这个点出发了,最终就会挤成一团。

 

所以,得用另一个,B在……秒内滑行到x:……y:……。

有没有同学知道,这里的x和y分别应该填什么呢?

 

(提问回答)

 

非常好!大家已经发现了,每位选手向右直着跑,不能偏,那么它们的y坐标值是不能变的,只把x坐标改为终点线的x坐标值就可以了。

 

我们从“侦测”里找到这个“舞台的背景编号”,把它改为“终点线的x坐标”,拖到滑行的代码块x坐标处。

 

再从“运动”里找到“y坐标”,表示选手自己的y坐标,拖到滑行的代码块y坐标处就可以了。

 

请大家一起完成现在的代码吧!作品的要求里,并没有说哪个角色跑得快哪个慢,所以我们可以自己确定一下时间。比如,小狗用1秒,小熊用2秒,甲壳虫用3秒。

 

(练习时间)

 

好,大家已经运行了一下。小狗、小熊、甲壳虫先后到达了终点线。

 

但是真正的比赛,不可能谁的速度慢快谁的速度慢,我们能提前猜出来,不然就不叫比赛了对不对?

 

因此这里我们最好给每一位选手一个随机的速度

 

现在还差最后一个功能:怎么让企鹅在最后一位选手冲过终点线时,宣布“比赛结束”呢?先请同学们思考一下,举手回答。

 

(提问回答)

 

有同学说可以用“广播”,每位选手到达终点时发出一个广播。也有同学说可以用“重复执行+如果”来判断。

 

大家都很善于思考。

 

如果用“广播”,每位选手到达终点时发出一个广播,说XXX到了,那企鹅怎么决定什么时候收到了全部三个广播呢?

 

用“重复执行+如果”也是一样,三个选手都到达终点的条件是什么呢?

 

这些办法都非常复杂,同学们可以试试。

 

其实今天我们用一个新的“广播”就可以非常简单地实现这个功能,那就是“广播……并等待”。

 

这个“广播……并等待”与单纯的“广播”有什么区别呢?

 

它们的区别就在于,“广播……并等待”也会像“广播”一样向其他角色发出消息,但是它会把这串代码往下执行的整个过程暂停,当所有“当接收到……”同一个消息的角色中的代码,都执行完成后,“广播……并等待”下面的代码块才会继续执行

 

完成后的代码块是这样的:

 

通过这种方法,就可以得到作品的效果了。

 

(提问回答)

 

大家一起改一下吧。

 

今天的课程到这里就结束了,同学们下次课再见!

 

知识技巧总结:

  1. 掌握广播并等待的应用

  2. 复习广播、坐标的用法

 

课后思考与练习:

请同学们在程序中添加一个新的参赛选手小猫,其他要求不变,看看代码有什么变化。

 

研发思路:

紧紧围绕“广播……并等待”与“广播”的不同点,需要创建一个情景,使得有一个角色发令,多个角色执行,发令角色还需要等待执行的角色完成动作后,再做一件事情。

 

综合这些要求,选取了同学们比较熟悉的百米赛跑这一例子。用这个例子引入“广播……并等待”还是挺自然的,也让同学们不知不觉间理解了同步与异步的概念。

 

 

与非学堂公众号2021年5月5日首发

让编程变得简单、简单、更简单!

 

 

— OVER —

 

与非学堂

专注青少年信息技术教育,探讨少儿编程的教与学,交流技巧、分享资源

 

 

与非学堂小程序

蓝桥杯STEMA科技素养测试、Bebras测试、文化测试

 

一份自家广告,长期有效|咨询&合作


 

公众号对话框回复「HELP」更多精彩

喜欢就请「分享「点赞「在看」吧!

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值