作品说明
魔法师盖城墙,这是第11届蓝桥杯Scratch国赛真题编程题的第4题,题目要求根据m和n的值建造m*n规模的城墙。
背景信息:童话世界里发生了一件大事,兽人族要进攻人类的国家,人类魔法师使用魔法修建了高高的魔法之墙,来抵御兽人族的进攻,让我们为魔法师们加油吧!!!
编程实现:当我们输入城墙规模,魔法师就能瞬间变出相同规模的城墙。
具休要求:
1). 点击绿旗,出现魔法师说:“输入m * n(m表示每层砖块的个数,n表示一共的层数,中间必须用乘号连接。m取值范国:1 < m < 15,n取值范围:1 < n < 15,选取m和n范围内的数值输入到对话框);

2). 例如8 * 12,点击之后,魔法师说“开始建造8 * 12的城墙”;

3). 盖出城墙。(大小参考值:30)

作品效果
Scratch魔法师盖城墙作品的完整效果如视频所示:
作品解读
Scratch魔法师盖城墙作品只有两个角色,如图所示:

本题考察的知识点有如下两个:
- Scratch克隆技巧
- 字符串拆分技巧
尤其是字符串拆分技巧, 玩家在输入m*n的时候,有可能没有空格,比如“8*10”,也有可能又空格,如“8 * 10”,程序需要灵活处理这种情况。因此,在这里,我们将这一功能实现拆分为两个过程,一是确定乘号“*”的位置,然后对字符串进行拆分,分别得到数字m和n。
为了简化程序,这里使用了自制积木,其中,确定乘号位置的自制积木如图所示:

执行这段代码,就可以确定字符串中乘号“*”的位置,并存储在变量“index”中。接下来,就是对字符串进行拆分,分别找出m和n了,代码如图所示:

执行这段代码,就可以得到数字m和n的值了,然后发送广播给砖块角色进行克隆即可。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容