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


课件自评:

知识基础:

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

故事背景:

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

作品效果要求:

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

课堂教学流程:

这是我们拿到的空白程序:小熊、小狗、甲壳虫是运动员,企鹅是裁判。它们的位置都用代码放好了。终点线也做成了一个角色,它的位置也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. C++ VS2013环境编译使用sqlite数据库全过程
  2. 在linux上MySQL的三种安装方式
  3. SpringBoot最最最常用的注解梳理
  4. Tomcat部署Maven的JavaWeb项目——这样我们写完程序把程序打包为war包,拿到用户那边启动服务器就可以运行了,简单轻松
  5. c语言实现堆Stack(附完整源码)
  6. asp.net Login控件基本属性及事件说明
  7. Go语言并发模型:使用 context
  8. java真数组_Java真数组
  9. 读大道至简——编程的精义感想
  10. layui横向时间线_除了性能“铁三角”还有什么?iQOO 3全新横向线性马达上手体验...
  11. linux 使用ACR122U-A9设备读写M1卡
  12. 【WPA三维路径规划】基于matlab狼群算法无人机三维路径规划【含Matlab源码 167期】
  13. 机器学习与数据挖掘的关系
  14. 物联网医疗康复AI软件项目找团队合作
  15. 2021-10-27 turtle 绘画创意图形(梅花)
  16. python中itertools模块zip_longest函数详解
  17. wlop2020全奖励包_真的要来?网友发现新更新包拥有“夜魇暗潮2020”信息
  18. 全新实用工具证件照制作微信小程序源码下载支持多种证件生成与制作
  19. html怎么在手机打不开,手机百度打不开网页怎么办 解决方法
  20. halcon与C#混合编程进阶版

热门文章

  1. 豆瓣FM-wordpress
  2. 极验验证码行为模拟(成功率90%以上)
  3. Zookeeper 图形化的客户端工具(ZooInspector)| 图形化的监控工具(taoKeeper)的下载和使用 | 后端开发工具Curator的高级应用
  4. ygbook和ptcms哪个好_杰奇CMS 和 PTCMS 有什么区别? 为什么很多人选择杰奇?
  5. 全志V5智能编码处理器详细参数介绍
  6. 机器学习笔记之受限玻尔兹曼机(二)模型表示
  7. 2019全球智博会开幕在即,百度无人车、腾讯多个产品将亮相 | 智博会...
  8. AirServer专业的投屏软件 支持安卓、苹果手机投屏至电脑
  9. 什么是消防设施操作员,就业前景如何
  10. Wireshark和Fiddler