时光倒流-第12届蓝桥杯Scratch选拔赛真题精选

[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第88讲。

蓝桥杯选拔赛每一届都要举行4~5次,和省赛、国赛相比,题目要简单不少,再加上篇幅有限,因此我精挑细选了一部分题目进行解读。

第12届蓝桥杯青少年组第3次选拔赛于2020年10月25日举行,形式为线上考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。

时光倒流,本题是2020年10月25日举行的第12届蓝桥杯Scratch选拔赛真题编程第4题,初级组和中级组都有此题,题目要求编程创作时光倒流作品,女巫使用新的魔法,不论王子跑到哪里,通过这个魔法他都会回到女巫身边。

先来看看题目的要求吧。

一.题目说明

背景信息:

在青蛙王子里的故事里女巫学艺归来,这次她使用了新的魔法施放到王子的身上,不论王子跑到哪里,通过这个魔法他都会回到女巫身边。

编程实现:

王子出现在舞台中心,用鼠标拖拽王子进行移动,并在移动过程中留下红色痕迹。5秒后,巫师就说“时光倒流!”,然后王子按照刚才的路线自动返回。

具体要求:

1). 点击绿旗,背景、角色位置如下图所示:

2). 巫师倒计时5秒钟,使用说话模块程序在舞台上(由5-1依次说出);

3). 倒计时的同时,可以使用鼠标拖拽王子移动,移动路径由红线呈现在舞台上;

4). 5秒后,巫师就说“时光倒流!”,然后王子按照刚才的路线返回到初始位置(要有移动过程)。

二.思路分析

本题一共有两个角色,分别是女巫和王子 ,都来自于Scratch自带的角色库,如图所示:

这里的重点是王子角色,它分为两个过程,一是随鼠标移动并留下轨迹,二是依照路线返回。

针对第一个过程,可以借助画笔,设置好画笔颜色和粗细,一旦鼠标在王子身上按下就开始落笔,这样一来,王子在移动的过程中就可以留下轨迹了,当松开鼠标时,抬笔即可。

难点是第二个过程,王子如何按照路线返回呢?众所周知,线是由点构成的,我们可以把轨迹看作是由若干个点连在一起,如果能够获取这些点的坐标,让王子逐个移到这些点,不就可以了么。

因此,我们可以在王子随鼠标移动的过程中,将经过的点的坐标使用列表保存起来,如此一来,难题就迎刃而解了。

 

三.编程实现

根据题目描述和思路分析,我们可以分三步来编写程序:

  • 女巫倒计时

  • 王子随鼠标移动

  • 王子沿原路返回 

1. 女巫倒计时

首先创建好变量“倒计时”,将初始值设为5,然后每隔1秒减1,同时要说出当前的倒计时,当倒计时减到0时,说“时光倒流”,然后发送一个广播消息,代码如图所示:

需要说明的是,这里的“说倒计时1秒”指令会持续1秒,所以不再需要使用“等待1秒”指令了。

2. 王子随鼠标移动

创建两个列表,分别命名为“x”和“y”,如图所示:

点击绿旗时,先将列表清空,同时设置好画笔颜色和粗细,切换到王子角色,编写代码如下:

使用鼠标拖拽角色,也就是当角色被点击时,角色跟随鼠标移动直到松开鼠标,移动的过程中,将x和y坐标保存到列表中,对应的代码如下:

简要说明两点:

1). 在拖拽角色的同时绘制内容,需要切换到全屏模式下才有效果;

2). 每移动一次,就将当前角色的x和y坐标保存到列表中,保存好的数据如图所示:

3. 王子沿原路返回

女巫角色在倒计时结束后发送了一个“返回”的广播消息,王子角色在接收到广播后,开始沿原路返回。

我们可以逐个取出列表中的x和y坐标值,将角色移到这些位置即可,不过需要注意的是,得从列表的尾部开始,直到列表的第一项。

因此,这里需要创建一个计数器变量,从列表最后一项开始,逐个取出对应列表现的x和y坐标,对应的编写代码如下:

当王子回到初始位置后,使用“全部擦除”指令将画笔绘制的轨迹擦除干净。

至此,我们的时光倒流作品就创作好了,注意要在全屏模式下进行测试,你可以拖拽出各种各样的路径,看看王子返回的效果,好好感受一下女巫强大的魔法😁。

四.总结与思考

本题难度系数为4,积木块数量40个左右 ,涉及到的知识点主要包括:

  • 使用变量结合循环实现倒计时效果;

  • 事件广播机制;

  • 角色拖拽的编程实现;

  • 列表的使用,尤其是结合循环遍历列表的操作;

  • 使用Scratch画笔绘制图形。

本题难度中等,关键是要熟悉列表的数据思维,并运用计算思维,将线段拆分成一个个的点,然后通过列表记录每一个点的坐标。

列表是编程中非常重要的一种数据结构,应用非常广泛,是每一个编程爱好者必须要熟练掌握的编程技能。

如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。

需要素材和源码的,可以联系本人,或者移步至同名wx号。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蓝桥杯scratch省赛真题是指蓝桥杯编程大赛中使用Scratch编程语言进行的省级比赛的问题。具体的题目会根据每年的比赛而有所不同,以下是一个例子: 题目要求创建一个游戏,模拟猴子爬楼梯的场景。猴子每次可以爬1到3级的楼梯,目标是爬到楼梯的最顶层。玩家可以通过按键来让猴子爬楼梯,同时需要显示猴子当前所在的楼梯层数以及已经爬过的楼梯数量。 首先,我们需要使用Scratch中的精灵功能来创建一个猴子的角色,可以自定义猴子的造型和动作。接下来,我们需要创建一个楼梯场景,可以使用Scratch中的背景功能来绘制楼梯。可以使用简单的图形表示楼梯,比如长方形。 之后,我们需要添加按键事件,让玩家输入按键来控制猴子的爬楼梯动作。可以使用Scratch中的事件功能来实现按键事件的触发。当玩家按下某个按键时,猴子开始向上爬楼梯。可以使用Scratch中的运动功能来控制猴子的位置,让其向上移动相应的楼梯层数。 同时,我们需要计算猴子当前所在的楼梯层数和已经爬过的楼梯数量。可以使用Scratch中的变量功能来记录这些信息。当猴子爬上一级楼梯时,楼梯层数加一,已经爬过的楼梯数量也加一。可以使用Scratch中的运算功能来实现变量的加法操作。 最后,我们需要添加判断条件,当猴子爬到楼梯的最顶层时游戏结束。可以使用Scratch中的控制功能来实现判断条件。当猴子的位置达到最顶层时,显示游戏结束的提示信息,并停止猴子的爬楼梯动作。 通过以上步骤,我们可以完成蓝桥杯scratch省赛真题中的猴子爬楼梯游戏。这个例子中只是其中的一个题目,实际比赛中的问题会更加复杂和多样化。但无论题目怎样,我们都可以通过使用Scratch的各种功能和编程思维,去解决这些问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值