听话的苹果-第11届蓝桥杯Scratch选拔赛真题精选

梁老师
梁老师 北京小升初老师~

0 人点赞了该文章 · 50 浏览





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

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

听话的苹果,本题是2019年12月15日举行的第11届蓝桥杯Scratch地区选拔赛真题编程第4题,题目要求编程创作听话的苹果游戏,在玩家输入指令后,苹果会按照指令进行上下左右移动。

先来看看题目的要求吧。



图片

题目说明

图片

程实现:

1). 本程序只有一个苹果角色,并且舞台为空白背景。如图:

图片

2). 先用边长为60的正方形填满整个舞台(用程序完成,不是使用舞台背景绘制);

3). 画完后,苹果回到舞台中心,然后询问:“输入指令(上下左右)”;

图片

4). 在输入框输入指令(指令可以是1个或多个),输入完毕后按回车键提交,苹果会按照指令的方向依次移动,每次移动都要移到下一个交点上,瞬移,每走完一次要等待1秒,如图所示:

图片

5). 苹果按指令走完整个路程后,会发出下一次询问,输入并提交后可再次移动;

6). 需要注意的是:如果遇到“上下左右”以外的其它内容,苹果不移动,说“无效”(1秒);

例如:输入“下6左A”,则苹果向下移动一格等待1秒,然后不移动同时说“无效”(1秒),然后向左移动一格等待1秒,然后说“无效”(1秒)原地静止。

7). 苹果不能超出屏幕边界,否则会说“超出范围,游戏停止!”,然后程序结束。

例如:程序一开始就输入:“上上上上”则苹果会依次向上移动3格,在移动第4次的时候,苹果移到边界外,说“超出范围,游戏停止!”1秒,然后程序结束。

将程序保存在桌面,命名为“4.sb2”。

评判标准:

  • 30分:运行程序,苹果先画出如图所示的网格,然后回到舞台中心,屏幕下方出现指令输入提示框;

  • 30分:输入指令后,苹果能做出相应的处理。从第一位开始依次判断:正确则移动,错误则提示“无效”且原地静止;

  • 40分:当超出边界,出现文字提示“超出范围,游戏停止”并结束游戏


  • 图片

    思路分析

    图片

    本题只有1个苹果角色,来自于Scratch自带的角色库。需要完成的功能主要有两个,一是绘制网格,二是让苹果按指令移动。

    绘制网格需要用到画笔模块,每一个网格都是60*60的小正方形,Scratch舞台大小为480*360,所以在水平方向上有8个小正方形,垂直方向上有6个小正方形。绘制方法有两种,一是逐个绘制小正方形,二是直接绘制直线,水平方向画7条直线,垂直方向画5条直线即可。

    让苹果按指令移动比较简单,重点是如何从用户输入的回答中取出指令,这需要使用字符串运算结合循环逐个取出每一个指令。

    由于这里只有一个角色,如果把所有的代码都写在绿旗下面,代码会显得比较长,我们可以使用自制积木对程序进行拆分,从而让代码结构更加清晰


    图片

    程序实现

    图片

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

    • 绘制网格

    • 苹果按指令移动

    1. 绘制网格
    根据思路分析,我们使用自制积木来绘制网格,绘制的思路也比较简单,先绘制5条水平方向上的直线,再绘制7条垂直方向上的直线,代码如图所示:

    图片

    需要注意的是落笔和抬笔的时机,确保没有多余的线段。如果想瞬间绘制好网格,可以在定义自制积木的时候勾选”运行时不刷新屏幕“,如图:

    图片

    然后在绿旗指令中使用自制积木,如图所示:

    图片

    执行程序,绘制的网格效果如下:

    图片

    2. 苹果按指令移动

    接下来, 苹果角色开始询问了,然后等待玩家输入指令,当玩家回答之后,我们就可以使用循环逐个取出每个指令,这部分代码如下:

    图片

    简单说明两点:

    1). 角色到底往哪个方向移动,这里使用了自制积木,稍后再介绍;

    2). 要正确的理解”苹果不能超出屏幕边界“的意思,很多同学首先会想到直接使用”碰到舞台边缘“来进行判断,请注意第7条中的描述,当输入“上上上上”指令,苹果会依次向上移动3格,在移动第4次的时候,苹果移到边界外,说“超出范围,游戏停止!”1秒,然后程序结束。这说明苹果可以碰到舞台边缘,只是不能移动到舞台外面去,所以这里判断的是x和y有没有超出舞台边界。

    上下左右移动”的自制积木定义如下:

    图片

    这里使用了条件嵌套结构,当指令为左、右、上、下时,就分别向对应方向移动60步,否则就停在原地不动,并提示“无效”。

    当前的代码只能处理一次输入,如果要继续下一次询问和移动,可以加上重复执行,代码如下:

    图片

    至此,整个作品就创作完成了,你可以把玩一下,看看苹果是不是真的听话图片



    图片

    总结与思考

    图片

    本题难度系数为7,积木块数量70个左右 ,涉及到的知识点主要包括:
    • Scratch绘制图形;

    • 自制积木的使用;

    • Scratch问答指令;

    • 使用循环结合字符串运算遍历 ;

    • 运算符的运用,包括比较运算、字符串运算和逻辑运算;
    • 条件语句的多层嵌套。

    本题难度较大,综合性较强,涉及到的知识点比较多,这里的难点是字符串的遍历操作,这需要结合循环、变量、字符串运算等知识点。要在规定的时间里完成创作,需要考生具备深厚的编程功底。

图片


添加 家长论坛微信 



发布于 2024-04-26 20:06

免责声明:

本文由 梁老师 原创发布于 家长帮 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论

广告
All Rights Reserved Powered BY WeCenter V4.1.0 © 2025 京ICP备20005761号-2