魔法师盖城墙-第11届蓝桥杯国赛第4题

魔法师盖城墙-51scratch
魔法师盖城墙-第11届蓝桥杯国赛第4题
此内容为付费资源,请付费后查看
9.9
限时特惠
19.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源

作品说明

魔法师盖城墙,这是第11届蓝桥杯Scratch国赛真题编程题的第4题,题目要求根据m和n的值建造m*n规模的城墙。

背景信息:童话世界里发生了一件大事,兽人族要进攻人类的国家,人类魔法师使用魔法修建了高高的魔法之墙,来抵御兽人族的进攻,让我们为魔法师们加油吧!!!

编程实现当我们输入城墙规模,魔法师就能瞬间变出相同规模的城墙。

具休要求:

1). 点击绿旗,出现魔法师说:“输入m * n(m表示每层砖块的个数,n表示一共的层数,中间必须用乘号连接。m取值范国:1 < m < 15,n取值范围:1 < n < 15,选取m和n范围内的数值输入到对话框);

第11届蓝桥杯国赛-scratch魔法师提问
魔法师提问

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

第11届蓝桥杯国赛-提示开始建造城墙
提示开始建造城墙

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

第11届蓝桥杯国赛-城墙效果
城墙效果

作品效果

Scratch魔法师盖城墙作品的完整效果如视频所示:

Scratch魔法师盖城墙作品效果

作品解读

Scratch魔法师盖城墙作品只有两个角色,如图所示:

第11届蓝桥杯Scratch国赛真题-Scratch魔方盖城墙角色列表
Scratch魔方盖城墙角色列表

本题考察的知识点有如下两个:

  • Scratch克隆技巧
  • 字符串拆分技巧

尤其是字符串拆分技巧, 玩家在输入m*n的时候,有可能没有空格,比如“8*10”,也有可能又空格,如“8 * 10”,程序需要灵活处理这种情况。因此,在这里,我们将这一功能实现拆分为两个过程,一是确定乘号“*”的位置,然后对字符串进行拆分,分别得到数字m和n。

为了简化程序,这里使用了自制积木,其中,确定乘号位置的自制积木如图所示:

确定乘号位置自制积木
确定乘号位置自制积木

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

拆分字符串自制积木
拆分字符串自制积木

执行这段代码,就可以得到数字m和n的值了,然后发送广播给砖块角色进行克隆即可。

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容