跳妹儿学编程之ScratchJr(9):程序控制积木篇—短跑比赛

跳妹儿学编程之ScratchJr(7):动作积木篇—爸爸去散步

跳妹儿学编程之ScratchJr(8):外观积木篇—捉迷藏

跳妹儿学编程之ScratchJr(9):程序控制积木篇—短跑比赛

引言

在之前的一篇文章中,我们了解了ScratchJr的动作积木和外观积木,并利用它们与孩子们共同创作了一些基础程序。今天,我们将继续探索ScratchJr的奇妙世界,重点介绍程序的核心控制逻辑:控制程序积木。

控制程序积木解析

控制程序积木负责指挥程序的运行流程,包括等待积木、停止积木、设置速度积木和循环积木共4种类型。

  • 等待积木:当程序执行到这一积木时,会暂停指定的秒数,然后继续执行后续的程序逻辑。

  • 停止积木:该积木会使所有角色的程序立即停止,不论它们正在进行何种操作。停止后,程序无法重新启动,只能重新开始,即从初始状态开始执行。

  • 设置速度积木:用于设定角色的移动速度。

  • 循环积木:类似于传统编程中的for或while循环,可以包含多个程序积木,并重复执行指定次数。例如,我们可以通过三种方式实现角色向右移动10步:一是拖入10个向右移动1步的积木;二是使用一个向右移动积木并设置移动10步;三是使用循环积木,将一个向右移动1步的积木放入循环中,并设置重复10次。

场景设定

在开始编程之前,建议家长朋友们向孩子们生动地描述场景故事,以激发他们的兴趣,然后引导他们共同完成编程任务。也可以让孩子们尝试自己分析并实现场景。

实战场景设定

今天,我们将使用控制程序积木来创建一个名为“短跑比赛”的场景。故事情节是这样的:一年一度的田径运动会上,短跑比赛即将开始。参赛者有小鸡、小兔和小青蛙。他们站在起跑线上,等待裁判(小鸟)从3倒数到1,然后一起向终点冲去。第一个到达终点的选手获胜,其他未到达终点的选手将停止奔跑。我们假设他们的奔跑速度从快到慢依次为:小兔、小鸡和小青蛙。

图片

场景编程分解

  1. 裁判开始倒数:小鸟裁判从3倒数到1,然后宣布比赛开始。

  2. 大家跑向终点:所有参赛选手以不同的速度向终点跑去。

  3. 小兔子到达终点:小兔子第一个到达终点,其他参赛选手停止奔跑。小兔子高兴地说“我赢啦”,比赛结束。

  4. 点击小青蛙停止奔跑:小兔子达到终点后,小青蛙离终点很远。于是我们点击小青蛙让其停止奔跑。

编程实践

裁判开始倒数

首先,将“小鸟”角色添加到舞台,并将其放置在屏幕左侧的适当位置。选择一个合适的背景。然后,在角色的编程区域中添加一个“小绿旗”积木,作为程序开始的触发器。最后,在小绿旗后面添加3个说话积木,并分别在说话积木的内容中输入3到1(也可以使用录音积木,让小朋友自己数数)。

图片

大家跑向终点

将“小兔子”角色添加到舞台,并将其放置在屏幕左侧的适当位置。在其编程区域中拖入“小绿旗”积木。在小绿旗后依次拖入等待积木、设置速度积木和循环积木,循环积木中放入向右移动的动作积木。并按下图依次在积木上设置相应的数字。

解析:

  • 等待积木用于等待裁判说开始。

  • 设置速度积木用于给不同的动物设置不同的速度,以实现不同动物具有不同的奔跑速度。

  • 循环积木来实现相同的时间,即相同的时间内(大家都跑同样的步数),跑得快的动物能先到终点。

  • 所有动物的执行逻辑都一样,唯一不一样的是速度不同。我们设置:小兔子速度最快,小鸡速度为中等,小青蛙速度为最慢。

图片

图片

图片

小兔子到达终点

小兔子被我们设计的跑得最快,所以它向到达终点。达到终点后它开心地说一句话“我赢啦”(可以使用录音积木直接录音,让小朋友更有参与感)。

图片

点击小青蛙停止奔跑

由于小青蛙跑地很慢,所以当小兔子到达终点后,小青蛙还离终点很远。于是我们点击小青蛙让其停止奔跑,并说"我最慢"。所以我们需要在小青蛙的程序编辑区依次新增点击触发积木、停止积木和说话积木。

图片

程序展示

现在,整个程序设计完成了。点击界面右上角的小绿旗按钮,开始执行程序。如果角色不在初始位置,记得先点击“重设角色”按钮重置角色位置。让我们一起欣赏这个编程成果吧!

图片

惯例

如果你喜欢本文或想分享交流育儿经验,欢迎关注V“跳小闹成长记”,让我们和宝贝们一起轻松学习,快乐生活!关注后可获取30G+免费学习资料,更多福利等你来发现,快来加入我们吧!

粉丝福利:

  1. 回复“儿童编程”可获得Scratch儿童编程免费教程。

  2. 回复“scratch”可获得ScratchJr安卓手机安装包。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 22:04:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 22:04:06       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 22:04:06       58 阅读
  4. Python语言-面向对象

    2024-07-15 22:04:06       69 阅读

热门阅读

  1. Python面试题:如何在 Python 中处理大数据集?

    2024-07-15 22:04:06       22 阅读
  2. 安全编织:Eureka驱动的分布式服务网格安全策略

    2024-07-15 22:04:06       22 阅读
  3. 速盾:cdn加速能提高多少?

    2024-07-15 22:04:06       16 阅读
  4. einsum算子不支持问题处理

    2024-07-15 22:04:06       21 阅读
  5. Vant Ui 最新访问地址

    2024-07-15 22:04:06       19 阅读
  6. AWS云计算实战:电商平台发卡机器人开发指南

    2024-07-15 22:04:06       24 阅读
  7. lua 实现一个 StateMachine状态机

    2024-07-15 22:04:06       20 阅读
  8. vim全局替换、添加新行、同时注释多行

    2024-07-15 22:04:06       20 阅读
  9. 算法题——冒泡排序

    2024-07-15 22:04:06       17 阅读
  10. 构建加速秘籍:精通Gradle构建启动参数

    2024-07-15 22:04:06       20 阅读
  11. FATE Flow 源码解析 - 资源分配流程

    2024-07-15 22:04:06       18 阅读