绘制同心圆-第12届蓝桥杯Scratch省赛1真题第3题

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

第12届蓝桥杯青少年组省赛分两次进行,这是2020年10月19日举行的第一次省赛考试初级组,形式为在线考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。

制同心圆,本题是第12届蓝桥杯Scratch第一次省赛真题初级组编程第3题。题目要求考生编程绘制同心圆,当按下空格键时,轮流绘制不填充同心圆和填充同心圆。

先来看看题目的要求吧。

一.题目说明

编程实现:

绘制同心圆。

具体要求:

1). 点击绿旗,小猫在舞台左下角出现;

2). 按下空格键,小猫画出10个不填充同心圆,且每个圆颜色都是随机的。画完后小猫回到出发点;

3). 再次按下空格键,小猫画出10个填充同心圆,且每个圆的颜色要逐渐改变。画完后小猫回到出发点;

4). 再次按下空格键,小猫画出10个填充同心圆,且每个圆的颜色要逐渐改变。画完后小猫回到出发点;

评判标准:

  • 10分:满足要求1);

  • 15分:满足要求2);

  • 20分:满足要求3);

  • 15分:满足要求4)。

二.思路分析

本作品只要一个小猫角色,如图所示:

针对本题,我们需要解决两个关键问题:

  • 如何实现按下空格键的轮流切换

  • 如何精确控制圆的位置和大小

针对第一个问题,我们可以使用”等待条件“ + ”按下空格键"的指令组合,不过需要连续使用两次。

在Scratch中,绘制圆通常有两种方法,第一种是让画笔每移动一定距离,就旋转1度,重复执行360次,这种画法比较简单,但是无法确定圆心和半径。第二种画法则是确定圆心和半径,让画笔从圆心移到圆周所在位置,落笔画一个点,然后回到圆心,旋转1度,再移动圆周所在位置,落笔画下一个点,重复执行360次。

很明显,本题需要的正是第二种方式。

三.编程实现

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

  • 绘制一个圆

  • 绘制同心圆

  • 按空格键轮流绘制同心圆

1). 绘制一个圆

由于要绘制同心圆,这意味着需要画多个圆,为了重用代码,我们可以定义一个绘制圆形的自制积木。

根据前面的思路分析,圆心和半径是可以随意指定的,这个可以使用参数来设置,由于每个圆的颜色也不一样,因此还需要一个颜色参数,创建自制积木如下:

这里勾选了“运行时不刷新屏幕”,其作用是加快画圆的速度。自制积木的具体代码如下:

有了这个自制积木,只需要指定圆心位置、半径和颜色,就可以快速绘制一个圆形了。

2). 绘制同心圆

先来考虑不填充同心圆的绘制,同心圆意味着这些圆有相同的圆心,但是半径不同,我们可以使用一个变量来表示半径,每绘制一个圆,将变量增加一点。

而填充和不填充,其实就是画笔的粗细不同,如果画笔比较细,画出来的就是不填充同心圆,如果画笔比较粗,画出来的就是填充同心圆。

为简化代码,我们使用自制积木来绘制同心圆,并添加一个参数“粗细”,其代码如下:

是搭嘎如果要绘制不填充同心圆,只需要将粗细设置小一点,比如3、如果要绘制填充同心圆,将粗细设置大一点,比如9即可。

2). 按空格键轮流绘制同心圆

有了绘制同心圆的自制积木,接下来就简单了,我们只需要重复等待是否按下空格键即可,在小猫角色中编写代码如下:

此处注意,这里使用了两次“等待按下空格键”指令 ,从而确保轮流绘制不填充和填充同心圆。

四.总结与思考

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

  • Scratch画笔指令的灵活使用;

  • 圆形的绘制技巧,尤其是绘制指定圆心和半径的圆;

  • 自制积木及其参数的使用;

  • 函数的编程思想;

  • 等待条件指令的妙用。 

本题难度一般,有两大重点,一是Scratch画笔的使用,尤其是绘制圆的技巧;二是函数的编程思想,即代码的重用,如何让代码变得更加简单。让更少的代码,实现更多的功能,这是所有编程爱好者所追求的最高境界。

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

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值