• 棒子老虎鸡-第12届蓝桥杯Scratch选拔赛真题精选


    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第86讲。

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

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

    棒子老虎鸡,本题是2020年11月21日举行的第12届蓝桥杯Scratch选拔赛真题编程第4题,初级组和中级组都有此题,题目要求编程创作一个棒子老虎鸡游戏。

    先来看看题目的要求吧。

    一.题目说明

    背景信息:

    “棒子、老虎、鸡”是和“石头、剪刀、布”类似的游戏,棒子打老虎,老虎吃鸡,鸡啄棒子。

    编程实现:

    小猫和小狗玩“棒子、老虎、鸡”的游戏。

    具体要求:

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

    2). 当平局时,螃蟹说:“平局”1秒;

    3). 当小猫赢时,螃蟹说:“小猫赢”1秒;

    4). 当小狗赢时,螃蟹说:“小狗赢”1秒。

    二.思路分析

    本题一共有5个角色,如图所示:

    5个角色各司其职,可以简单的划分为3类,其中小猫角色和小狗角色负责发号施令,两个棒子老虎鸡角色则负责切换成相应的造型,螃蟹角色则负责裁判工作。

    棒子老虎鸡角色有三个造型,分别是老虎、棒子和鸡,如图所示:

    随机切换棒子老虎鸡角色的造型很简单,关键是如何比较谁输谁赢。

    显然,我们可以通过比较二者的造型编号来决定胜负,如果二者的造型编号相同,就为平局,如果二者造型分别为1和2、2和3、3和1,则前者赢,否则就是后者赢。

    为了简化代码,我们可以定义两个变量用于表示两个棒子老虎鸡角色的造型编号。

    三.编程实现

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

    • 小猫小狗发出指令

    • 棒子老虎鸡角色切换造型

    • 螃蟹判断输赢

    1. 小猫小狗发出指令

    首先创建好两个变量,分别命名为”小猫“和”小狗“,如图:

    绿旗点击时,将小猫移到舞台左下方,当按下空格键时,先说”棒子老虎鸡“,然后将”小猫“变量设置为随机数,其范围为1到3之间,然后发送一个”小猫出拳“的广播消息,在小猫角色中编写代码如下:

    同理,切换到小狗角色,编写类似的代码如下:

    2. 棒子老虎鸡角色切换造型

    棒子老虎鸡1角色在接收到”小猫出拳“广播消息后,只需要切换到变量”小猫“对应的造型即可,对应的代码如下:

    同理,切换到棒子老虎鸡2角色,编写代码如下:

    和棒子老虎鸡1角色相比,这里多了一个广播消息,其作用是告诉螃蟹角色可以判断输赢了。

    3. 螃蟹判断输赢

    螃蟹角色在接收到”裁判“广播消息后,就根据”小猫“和”小狗“两个变量的值来判断谁输谁赢了,切换到螃蟹角色中,编写代码如下:

    判断的逻辑比较简单,如果两个变量相等,则说明平局。否则就要分情况讨论了,小猫赢的情况有3种,它们是逻辑或的关系,在每一种情况下,小猫和小狗都有对应的造型,二者之间则是逻辑与的关系。

    补充说明一点,注意这里的写法,判断的结果有三种情况,一是平局,二是小猫赢,三是小狗赢。一般来说,针对这种情况,我们需要在”如果...那么...否则“指令中,再嵌套一个”如果...那么...否则“指令,如图:

    可以说这是标准的写法,但我们完全可以不用嵌套,只需要借助”停止这个脚本“指令就能轻松的实现。如果两个变量相等,就表示平局,后续就不需要判断了,提前结束脚本,如果不相等,我们再判断是小猫赢还是小狗赢。

    四.总结与思考

    本题难度系数为4,积木块数量55个左右 ,涉及到的知识点主要包括:

    • 外观编程,包括切换造型和说话指令;

    • 随机数指令的作用及使用;

    • 事件广播机制;

    • 运算符指令,包括比较和逻辑与、逻辑或运算;

    • 条件指令的使用,包括单分支和双分支。

    本题难度中等,关键是找到判断输赢的条件,从数学的角度来讲,两个角色各有3种造型,根据排列组合原理,一共有3x3=9种情况,其中平局有三种情况,小猫赢有三种情况,小狗赢也有三种情况。平局最为简单,所以我们只需要找到小猫赢的条件,题目就迎刃而解了。

    如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。

  • 相关阅读:
    JUC并发工具-CAS机制
    单机多卡、多机多卡的艺术
    拥塞控制,CDN,端到端
    2022年新版Pycharm通过project interpreter国内镜像源设置
    HIVE数据导入ES并避免字段空值占用空间
    2023-09-02力扣每日一题
    初识计算机网络
    【洛谷题解/SDOI2012】P2303/SDOI2012 D1T1 Longge的问题
    深入理解Linux内核内存池技术的原理与实现(含源代码)
    入门学习之社会工程学
  • 原文地址:https://blog.csdn.net/diamondwang2012/article/details/128050202