画西瓜-第15届蓝桥省赛Scratch初级组真题第3题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第182讲。

如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,查阅教程更方便。

第15届蓝桥杯省赛已于2024年8月24日落下帷幕,编程题一共有5题,分别如下:

画西瓜🍉,本题是2024年8月24日举行的第15届蓝桥省赛Scratch初级组编程第3题,题目要求编程通过scratch画笔完成西瓜的绘制。整颗西瓜由瓜皮、瓜白、瓜瓤和瓜籽构成,绘制完成后还要模拟吃掉瓜瓤,将其余部分留下的效果。

先来看看题目的要求吧。

一.题目说明

编程实现:

画西瓜。

具体要求:

1). 点击绿旗,在盘子上瞬间画出一个绿色半圆环,如图所示;

图片

2). 然后,在绿色半圆环的内部画出一个白色半圆环(能看到绘制过程),如图所示;

图片

3). 然后,在白色半圆环的内部画出西瓜瓤(西瓜瓤为红色实心半圆,能看到绘制过程),如图所示;

图片

4). 然后,在西瓜瓤内,瞬间画出5行排列整齐的西瓜籽(西瓜籽为黑色小圆点),西瓜籽的数量及排列方式如图所示;

图片

5). 1秒后,西瓜瓤被吃掉,西瓜籽被放在盘子里(西瓜籽数量不少于3粒),程序结束,如图所示。

图片

评判标准:

  • 6 分:满足"具体要求"中的1);

  • 6 分:满足"具体要求"中的2);

  • 6 分:满足"具体要求"中的3);

  • 20分:满足"具体要求"中的4);

  • 12分:满足"具体要求"中的5)。

二.思路分析

本题只有1个画笔角色,如图所示:

图片

很显然,本题考查的知识点是画笔技巧,所有的效果都需要通过画笔来完成。

仔细分析题目,我们可以将西瓜🍉分成如下几个部分:

  • 瓜皮

  • 瓜白

  • 瓜瓤

  • 瓜籽

其中,瓜籽有两种形态,一是整齐排列的瓜籽,二是散落在盘子里面的瓜籽。

需要强调的是,在试题给出的效果图中,瓜皮、瓜白的的起点和终点是直线效果,就像是被切了一刀,切口是非常平整的,如图:

图片

解决本题的关键有两点:

  • 如何绘制瓜皮、瓜白和瓜瓤;

  • 如何绘制倒三角排列的瓜籽;

花开两朵,各表一枝,咱们先来说说瓜皮、瓜白和瓜瓤的绘制思路和技巧。

很多同学觉得瓜瓤比较好画,但是瓜皮和瓜白不好画。实际上,它们的画法完全一样,都是基于中心法的实心圆弧画法。

关于圆形和圆弧的绘制技巧,超平老师在之前的专题中有过详细的介绍,可以参考《

完美的圆形-Scratch绘制圆、圆弧和扇形的编程技巧》这篇教程。

中心法的核心思想将画笔角色先固定到圆心位置,再移动一个半径的距离,落笔绘制一个点(或者一条线段)后抬笔,然后再退回到圆心位置,接着旋转1度,重复这个过程指定次数(比如360度、180度)即可。

理解中心法的关键是将实心圆(或实心圆弧)看成是一条一条的线段。为方便理解,我们来看一下这个过程:

如果是以(0,0)为中心,画4条长度为150的线段,相邻两条线段之间的夹角都为90度,效果如下:

图片

如果是10条线段呢,相邻两条线段之间的夹角都为36度,效果如下:

图片

如果是60条线段呢,相邻两条线段之间的夹角都为6度,效果如下:

图片

如果是360条线段呢,相邻两条线段之间的夹角都为6度,效果如下:

图片

这不就是一个实心圆吗,其本质就是360条线段,如果我们只画180条线段,可以得到如下效果:

图片

这不就是题目要求的瓜瓤么,这个代码应该不难写出吧,大致是这样的:

图片

当然,有同学会问了,这里的瓜皮和瓜白并不是半圆呀,怎么用这个方法画呢?

实际上,我们只需要稍微改变一点点,将落笔的位置往外扩一点。当前落笔的位置是圆心,我们先沿着当前方向移动一定距离,然后再落笔,代码如下:

图片

绘制的图形效果如下:

图片

挺简单的吧,再进一步,对于从圆心开始绘制的瓜瓤来说,我们可以认为它落笔的位置和圆形的距离为0。

这么做的好处就是我们就可以自定义一个自制积木来绘制圆弧,然后传入不同的参数,就可以绘制出瓜皮、瓜白和瓜瓤了。

接下来,我们再分析瓜籽的绘制,瓜籽本身比较简单,就是一个小点,这里的难点是倒三角排列效果。

又是一个非常熟悉的场景,又是一个非常经典的模型。超平老师在之前的教程中,分享了一个超级好用的模型----克隆4兄弟。具体的讲解,可以参考《找不同游戏-第15届蓝桥第二次STEMA测评Scratch真题精选》这篇教程。

所谓4兄弟是指下面这4个指令:

图片

不要小看了这4兄弟指令,只要你用好了,可以解决任何多行多列的排列图形,不仅可以克隆中应用,在画图中也可以使用。

具体怎么使用呢,我们可以一步一步来分析。假设我们要绘制的是5行5列标准的瓜籽,代码如下:

图片

对应的瓜籽(这里用红色圆点表示,有点大,为了让您看清楚)排列如图所示:

图片

这个肯定没问题吧,接下来,我们要让每一行的瓜籽少一个,这说明在上面的两层循环中,内层循环的次数是变化的。

可以使用变量来表示每一行要绘制的瓜籽数量,将初始值设置为5,每绘制一行,个数减1,代码如下:

图片

对应的效果如下:

图片

接着是每一行第一个瓜籽的x坐标,每画一行,x坐标都要右移一个间隔距离,说明x坐标也是变化的。

既然是变化的,和上面数量的思路一样,再次定义一个变量表示起点的x坐标,每画完一行,将起点x增加间隔距离。

代码如下:

图片

对应的效果如下:

图片

一个漂亮的倒三角形排列效果就完成了。

搞定了两个关键问题,其它的就相对比较简单了,接下来,我们就进入程序实现环节。

三.编程实现

根据上面的思路分析,我们分4步来完成作品:

  • 定义自制积木绘制圆弧

  • 定义自制积木绘制倒三角瓜籽

  • 绘制完整的西瓜

  • 模拟吃掉瓜瓤效果

1. 定义自制积木绘画圆弧

根据前面的思路分析,定义自制积木如下:

图片

代码不再解释了,这里再强调两个细节:

1). 一定要注意落笔和抬笔的时机;

2). 这里重复执行360次右转0.5度,是为了避免图形出现虚化效果,实际上还是半个圆弧;

3. 定义自制积木绘制倒三角瓜籽

根据前面的思路分析,先定义一个自制积木,如下所示:

图片

代码不再详细解释了,强调一点,就是坐标的设置,需要根据西瓜瓤所在的位置和大小进行相应的调整。

3. 绘制完整的西瓜

根据题目要求,瓜皮要瞬间绘制出来,这个需要结合自制积木的不刷新屏幕选项,定义自制积木如下:

图片

自制积木本身的代码比较简单,如下:

图片

接下来在绿旗指令中调用自制积木,分别绘制瓜皮、瓜白、瓜瓤和瓜籽,编写代码如下:

图片

代码比较简单,说明两点:

1). 每次需要将方向设置为面向90度,确保方向正确;

2). 移动的距离和长度自行调整,确保尽量和题目的效果图一致;

完成这一步,效果如下:

图片

4. 模拟吃掉瓜瓤效果

1秒之后,西瓜瓤被吃掉了,西瓜子散落在盘子的一角,这说明之前绘制的西瓜要全部擦除,然后再重新绘制瓜皮、瓜白和散落的瓜籽。

而且要让被人感觉不到是擦除的,必须瞬间绘制出瓜皮和瓜白。定义一个自制积木,代码如下:

图片

代码非常简单,关键是不要忘了勾选“运行时不刷新屏幕”。

然后是绘制散落的瓜籽,这个比较简单,为了方便,仍然使用自制积木来完成,代码如下:

图片

然后在绿旗代码块中,编写代码如下:

图片

代码非常简单,注意3个细节:

1). 需要重新设置画笔的粗细;

2). 需要将方向设置为90度;

3). 瓜皮和瓜白要瞬间绘制出来,瓜籽没有具体要求,可以瞬间完成,也可以看到绘制过程。

西瓜吃完的效果如下所示:

图片

至此,整个作品就创作好了,效果还是非常不错哦。

四.总结与思考

本题是初级组编程部分第3题,分数为40分,积木块数量70个左右,涉及到的知识点主要包括:

  • 画笔的基本使用;

  • 圆弧的绘制技巧;

  • 倒三角的绘制技巧

  • 自制积木;

  • 变量;

作为本次初级组省赛的第3题,难度不小,完成时间20分钟左右。本题的难点有两个,一是如何绘制出瓜皮和瓜白,二是如何绘制倒三角的瓜籽效果。

在上面的讲解中,提到了两个非常经典的模型:

  • 中心法模型

  • 克隆4兄弟模型

经常看我教程的同学对两个肯定非常熟悉,真的是很强大,很好用。

查理·芒格说过,思维模型会给你提供一种视角或思维框架,从而决定你观察事物和看待世界的视角,顶级的思维模型能提高你成功的可能性,并帮你避免失败。

所以,我们在学习任何知识的时候,都要学习重要的模型,它可以帮助我们快速地解决问题。

你还有什么好的方法吗,非常欢迎您和超平老师交流分享。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要素材和源码的,可以移步至“超平的编程课”gzh。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值