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

news2024/12/25 15:10:28

跳妹儿学编程之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安卓手机安装包。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1927854.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

排序(三)——归并排序(MergeSort)

欢迎来到繁星的CSDN,本期内容主要包括归并排序(MergeSort)的实现 一、归并排序的主要思路 归并排序和上一期讲的快速排序很像,都利用了分治的思想,将一整个数组拆成一个个小数组,排序完毕后进行再排序,直到整个数组排序…

php反序列化--2--PHP反序列化漏洞基础知识

一、什么是反序列化? 反序列化是将序列化的字符串还原为PHP的值的过程。 二、如何反序列化 使用unserialize()函数来执行反序列化操作 代码1: $serializedStr O:8:"stdClass":1:{s:4:"data";s:6:"sample";}; $origina…

autoware.universe源码略读(3.15)--perception:object_merger

autoware.universe源码略读3.15--perception:object_merger Overviewnode(enum)MSG_COV_IDX(Class)ObjectAssociationMergerNode(Func)isUnknownObjectOverlapped(Func)convertListT…

Directory Opus 13 专业版(Windows 增强型文件管理器)值得购买?

在使用电脑时,总少不了和文件打交道。系统自带的 Explorer 资源管理器功能又非常有限,想要拥有一个多功能文件管理器吗? Directory Opus 是一款老牌多功能文件管理器,能很好地接管 Windows 资源管理器。 接管资源管理器 Directo…

【Linux系列】TEE 命令:同时输出到终端和文件

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

(leetcode学习)15. 三数之和

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 1&a…

java算法day13

java算法day13 104 二叉树的最大深度111 二叉树的最小深度226 翻转二叉树101 对称二叉树100 相同的树 104 二叉树的最大深度 我最开始想到的是用层序遍历。处理每一层然后计数。思路非常的清楚。 迭代法: /*** Definition for a binary tree node.* public class…

Nginx入门到精通三(反向代理1)

下面内容整理自bilibili-尚硅谷-Nginx青铜到王者视频教程 Nginx相关文章 Nginx入门到精通一(基本概念介绍)-CSDN博客 Nginx入门到精通二(安装配置)-CSDN博客 Nginx入门到精通三(Nginx实例1:反向代理&a…

Linux系统搭建轻量级个人博客VanBlog并一键发布公网远程访问

文章目录 前言1. Linux本地部署2. VanBlog简单使用3. 安装内网穿透4. 创建公网地址5. 创建固定公网地址 前言 今天和大家分享如何在Linux Ubuntu系统搭建一款轻量级个人博客VanBlog,并结合cpolar内网穿透软件生成公网地址,轻松实现随时随地远程访问本地…

Python与自动化脚本编写

Python与自动化脚本编写 Python因其简洁的语法和强大的库支持,成为了自动化脚本编写的首选语言之一。在这篇文章中,我们将探索如何使用Python来编写自动化脚本,以简化日常任务。 一、Python自动化脚本的基础 1. Python在自动化中的优势 Pyth…

内存RAS技术介绍:内存故障预测

故障预测是内存可靠性、可用性和服务性(RAS)领域中的一个重要方面,旨在提前识别潜在的不可纠正错误(UE),以防止系统崩溃或数据丢失。 4.1 错误日志记录与预测基础 错误一般通过Linux内核模块Mcelog记录到…

1.31、基于长短记忆网络(LSTM)的发动机剩余寿命预测(matlab)

1、基于长短记忆网络(LSTM)的发动机剩余寿命预测的原理及流程 基于长短期记忆网络(LSTM)的发动机剩余寿命预测是一种常见的机器学习应用,用于分析和预测发动机或其他设备的剩余可用寿命。下面是LSTM用于发动机剩余寿命预测的原理和流程: 数据收集&#…

实践之K近邻算法实现红酒聚类

前言 K近邻算法是一种用于分类和回归的非参数统计方法,通过计算样本与训练样本的距离,找出最接近的k个样本进行投票来确定分类结果。算法的基本要素包括K值、距离度量和分类决策规则。 K值决定了邻居的影响程度,距离度量反映了样本间的相似度…

python条件

条件语句 if语句 if...else语句 if...elif...else语句 嵌套 is is 是一个身份运算符,用于比较两个对象的身份,即它们在内存中的地址是否相同。这与比较两个对象是否相等的 运算符不同。 运算符比较的是两个对象的值是否相等。 比较对象 比较基本数据…

npm发布的包如何快速在cnpm上使用

npm发布的包如何快速在cnpm上使用 解决方案 前往淘宝npm镜像官网 搜索插件库并点击同步 等待一分钟即可查看最新版本

C++ 类和对象 赋值运算符重载

前言: 在上文我们知道数据类型分为自定义类型和内置类型,当我想用内置类型比较大小是非常容易的但是在C中成员变量都是在类(自定义类型)里面的,那我想给类比较大小那该怎么办呢?这时候运算符重载就出现了 一 运算符重载概念&…

ts踩坑!vue3中defineEmits接收父组件向子组件传递方法,以及方法所需传的参数及类型定义!

使用说明 1、在子组件中调用defineEmits并定义要发射给父组件的方法 const emits defineEmits([‘foldchange’]) 2、使用defineEmits会返回一个方法,使用一个变量emits(变量名随意)去接收 3、在子组件要触发的方法中,调用emits并传入发射给父组件的方法…

【C语言初阶】探索编程基础:深入理解分支与循环语句的奥秘

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C语言 “ 登神长阶 ” 🤡往期回顾🤡:C语言入门 🌹🌹期待您的关注 🌹🌹 ❀分支与循环语句 📒1.…

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十三)-更换无人机控制器

引言 本文是3GPP TR 22.829 V17.1.0技术报告,专注于无人机(UAV)在3GPP系统中的增强支持。文章提出了多个无人机应用场景,分析了相应的能力要求,并建议了新的服务级别要求和关键性能指标(KPIs)。…

Kafka:Kafka详解

Kafka 消息中间件 区别于rabbitmq,kafka更适用于量级较大的数据(100w级),主要在大数据领域使用 Kafka介绍 一个分布式流媒体平台,类似于消息队列或企业消息传递系统 Kafak的结构如下 producer:发布消息的对象 topic:Kafak将消息分门别类,每类的消息称为一个主题(Topic) …