棒子老虎鸡-第12届蓝桥杯Scratch选拔赛真题精选
第12届蓝桥杯青少年组第4次选拔赛于2020年11月21日举行,形式为线上考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。
棒子老虎鸡,本题是2020年11月21日举行的第12届蓝桥杯Scratch选拔赛真题编程第4题,初级组和中级组都有此题,题目要求编程创作一个棒子老虎鸡游戏。
先来看看题目的要求吧。

题目说明

1). 点击绿旗,按下空格键,小猫和小狗同时说出“棒子、老虎、鸡”后,其上方棒子开始随机切换”棒子、老虎、鸡“这三个造型中的一个;
2). 当平局时,螃蟹说:“平局”1秒;
3). 当小猫赢时,螃蟹说:“小猫赢”1秒;
4). 当小狗赢时,螃蟹说:“小狗赢”1秒。

思路分析

本题一共有5个角色,如图所示:
程序实现
根据题目描述和思路分析,我们可以分三步来编写程序:
小猫小狗发出指令
棒子老虎鸡角色切换造型
螃蟹判断输赢
1. 小猫小狗发出指令
首先创建好两个变量,分别命名为”小猫“和”小狗“,如图:
绿旗点击时,将小猫移到舞台左下方,当按下空格键时,先说”棒子老虎鸡“,然后将”小猫“变量设置为随机数,其范围为1到3之间,然后发送一个”小猫出拳“的广播消息,在小猫角色中编写代码如下:
同理,切换到小狗角色,编写类似的代码如下:
2. 棒子老虎鸡角色切换造型
棒子老虎鸡1角色在接收到”小猫出拳“广播消息后,只需要切换到变量”小猫“对应的造型即可,对应的代码如下:
同理,切换到棒子老虎鸡2角色,编写代码如下:
和棒子老虎鸡1角色相比,这里多了一个广播消息,其作用是告诉螃蟹角色可以判断输赢了。
3. 螃蟹判断输赢
螃蟹角色在接收到”裁判“广播消息后,就根据”小猫“和”小狗“两个变量的值来判断谁输谁赢了,切换到螃蟹角色中,编写代码如下:
判断的逻辑比较简单,如果两个变量相等,则说明平局。否则就要分情况讨论了,小猫赢的情况有3种,它们是逻辑或的关系,在每一种情况下,小猫和小狗都有对应的造型,二者之间则是逻辑与的关系。
补充说明一点,注意这里的写法,判断的结果有三种情况,一是平局,二是小猫赢,三是小狗赢。一般来说,针对这种情况,我们需要在”如果...那么...否则“指令中,再嵌套一个”如果...那么...否则“指令,如图:
可以说这是标准的写法,但我们完全可以不用嵌套,只需要借助”停止这个脚本“指令就能轻松的实现。如果两个变量相等,就表示平局,后续就不需要判断了,提前结束脚本,如果不相等,我们再判断是小猫赢还是小狗赢。

总结与思考

外观编程,包括切换造型和说话指令;
随机数指令的作用及使用;
事件广播机制;
运算符指令,包括比较和逻辑与、逻辑或运算;
条件指令的使用,包括单分支和双分支。
本题难度中等,关键是找到判断输赢的条件,从数学的角度来讲,两个角色各有3种造型,根据排列组合原理,一共有3x3=9种情况,其中平局有三种情况,小猫赢有三种情况,小狗赢也有三种情况。平局最为简单,所以我们只需要找到小猫赢的条件,题目就迎刃而解了。

添加 家长论坛微信
全部 0条评论