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


课件自评:

知识基础:

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

故事背景:

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

作品效果要求:

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

课堂教学流程:

这是我们拿到的空白程序:小熊、小狗、甲壳虫是运动员,企鹅是裁判。它们的位置都用代码放好了。终点线也做成了一个角色,它的位置也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」更多精彩

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

【Scratch课件-广播并等待】百米赛跑相关推荐

  1. java多线程百米赛跑_JAVA CountDownLatch(倒计时计数器)用法实例

    这篇文章主要介绍了JAVA CountDownLatch(倒计时计数器)用法实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 方法说明: publ ...

  2. java多线程百米赛跑_多线程-百米赛跑

    题目:百米赛跑 10个运动员进行百米赛跑,要求: 1.同时起跑 2.所有运动员都到达终点才算比赛结束 3.输出成绩排名 import java.util.ArrayList; 9/** 10   * ...

  3. 多线程模拟实现百米赛跑

    文章目录 1. CountDownLatch 1.1 概念 1.2 基础方法 2. 模拟实现百米赛跑 2.1 设计思路 2.2 代码实现 2.3 运行结果 题目: 设计并编写一个程序, 10名选手准备 ...

  4. 多线程之线程的百米赛跑

    西城旧梦梦旧人 2017-06-13 22:42 在百米赛跑中,多个参赛队员在听到发令枪响之后,开始跑步,到达终点后结束计时,然后统计各个队员的成绩.而这个在线程中需要考虑两点,第一:发令枪响,这是所 ...

  5. 使用CyclicBarrier模拟百米赛跑

    使用CyclicBarrier模拟百米赛跑 什么是CyclicBarrier 怎么使用CyclicBarrier 使用CyclicBarrier模拟百米赛跑 大概流程: 原代码 输出结果 什么是Cyc ...

  6. java学校举行运动会,百米赛跑跑入10 秒内的学生有资格进决赛,根据性别分别进入男子组和女子组使用if条件语句

    package cn.bdqn.demo01; import java.util.Scanner; public class IfDemo01 { public static void main(St ...

  7. 人类百米赛跑能跑进9秒吗

    参考消息网8月7日报道据英国<每日邮报>网站8月2日报道,百米赛跑的纪录保持者是尤塞恩·博尔特,他在2009年世界田径锦标赛中以惊人的9.58秒的成绩夺冠.迄今为止,尚无人能在百米赛跑中突 ...

  8. Java基础之分支结构--嵌套if选择结构——百米赛跑决赛

    import java.util.Scanner; public class Run{public static void main(String[] args){Scanner sc = new S ...

  9. 线性回归(百米赛跑python)

    import numpy as np import matplotlib.pyplot as plt %matplotlib inline x = [1940,1960,1980,2000,2020] ...

最新文章

  1. GNT格式转换为PNG格式
  2. javascript常用小例子
  3. Caused by: java.net.UnknownHostException: localhost.localdomain: localhost.localdomain的问题解决
  4. 【VMCloud云平台】SCCM(八) OSD(一)- 部署准备
  5. python将非0数视为false_Python Numpy – 将小数字视为零
  6. netconsole 重定向kernel日志到远程服务器
  7. MySQL安装配置(可视化安装界面),可视化工具安装,连接IDEA,JDBC安装配置,在IDEA中书写第一个MySQL程序,超简单教程(超详细)。
  8. 深度置信网络(Deep Belief Networks)DBN
  9. e320/t420/w520等 qm67/hm65/hm67等 6系芯片组更新BIOS以安装三代酷睿cpu提升性能的想法
  10. librdkafka安装步骤
  11. Java 中status意思_struts的status属性
  12. 点击复制微信号并跳转到微信
  13. Java集成AWS的SES服务
  14. 计算机视觉中的传统特征提取方法总结
  15. 地磁校准 椭球校准_如何校准电视
  16. 区块链是如何升级的?
  17. LCD 3LCD DLP LED投影仪成像原理
  18. x265源码分析 main函数 x265.cpp
  19. android sd卡数据恢复软件下载,sd卡数据恢复软件下载
  20. JVM SandBox源码解析(一):启动时初始化、启动时加载模块、ModuleHttpServlet进行Http路由

热门文章

  1. 学生获得IDEA注册码步骤
  2. mysql通用mapper_这就是——通用Mapper
  3. MindSpore:[Gradoperation]mindspore复合函数求导
  4. Semantic Visual Simultaneous Localization and Mapping A Survey
  5. C#截取picturebox的一部分图片
  6. java rhino import_java – rhino嵌入
  7. android数据库存储位置,android数据库存放位置
  8. 树莓派系统安装步骤——免费工具包资源
  9. mmap函数映射物理地址失败指针全F问题解决
  10. 国密局公开SM2和SM3算法或预示中国商密算法将走向开放