温馨提示:本站为天鹅湖票务官方授权演出订票中心,请放心购买。
你现在的位置:首页 > 演出资讯  > 舞蹈芭蕾

第15届蓝桥杯国赛2024年9月第5题 - 九宫格博弈战

更新时间:2024-10-23 19:58  浏览量:122

题目要求(九宫格博弈战)

题目背景:

螃蟹和乌龟轮流抢占九宫格,每占一格就会在九宫格上放置一个乌龟或者螃蟹。

谁先占据九宫格的一行或者一列或者对角线的三格,那么谁就获胜,海豚会宣布获胜方。

如果最终谁都没能获胜,海豚会说“旗鼓相当”。

具体要求:

1)点击小绿旗,舞台上呈现一个九宫格(九宫格由3行3列排列整齐的方块组成),九宫格左侧显示一只螃蟹,舞台右下角显示一条海豚,如图所示:

2)点击任意一个空白方块,方块中会出现一只螃蟹,同时九宫格左侧的螃蟹会变成海龟,如图所示:

3)鼠标点击任意空白方块时,方块会变成海龟,同时九宫格左侧的海龟变成螃蟹,如图所示:

4)鼠标点击有动物的方块时,无任何效果。

5)重复执行具体要求2)~4)。

6)如果螃蟹或海龟占据了九宫格的某一行、某一列或某一条对角线的三个方块,九宫格左边的螃蟹或海龟消失,海豚直接宣布获胜方1秒,如下图示,然后游戏结束:

7)九宫格被占满后,九宫格左侧的螃蟹或者海龟消失,如果此时没有分出胜负,海豚说“旗鼓相当”。

8)游戏结束后,当前游戏界面不再有任何变化,并且鼠标点击任意方块都不会有任何效果。

评分标准:

10分:满足要求1;5分:满足要求2;5分:满足要求3;5分:满足要求4;10分:满足要求5;20分:满足要求6;20分:满足要求7;5分:满足要求8;

没找到海龟, 用青蛙代替

如果说6-8有难度的话, 那1-5还是非常基本的, 思路一定是多拿分, 把会做的做好即可. 这题难度适中, 考察孩子的基本功, 还是要打好基础.

题目有4个角色(并不是原题角色)

格子有3个造型

第一问, 九宫格的排列就不用讲了, 外循环是行, 内循环是列

注意这里用了两个私有变量, 其中私有编号(每个克隆体一个编号)是常规操作, 即使用不到也要养成习惯创建.

这里私有编号的作用是跟列表对应(1-9编号, 对应列表1-9项), 因为如果要知道这9个格子分别都被哪个动物占用的话, 需要把数据存到列表里, 然后再去判断输赢.

是否点击这个变量针对的是题目中的(4), 鼠标点击有动物的方块时,无任何效果

第二问和第三问的意思是, 如果现在左边是螃蟹, 那么点击空白的格子, 格子变成螃蟹, 同时左侧的螃蟹变成乌龟.

这个地方的方法很多, 比如我们可以通过设定变量, 看哪个动物已经出现过, 或是现在出现的是哪个动物, 我这里选择的方法是用一个变量计数, 每增加一个数就换一个造型(螃蟹和乌龟是轮流出现的), 如果能够想到余数的话是不是就很好理解了.

上面格子的程序, 根据点击次数这个变量决定是螃蟹还是乌龟造型, 偶数是螃蟹, 奇数是乌龟

乌龟和螃蟹的隐藏和显示是同样的操作

两个角色把显示和隐藏反过来就可以了, 一个是偶数显示, 一个是奇数显示.

第四问, 鼠标点击有动物的方块时,无任何效果, 这里就要用到我们刚才的私有变量是否点击了, 这个变量就是记录这个格子是否被点击过了.

在换造型之前先判断是否已经点击过了, 如果等于0也就是没有点击过, 接着就把变量设为1就是点击过了, 接下来再点击也不会有效果, 这个在学习跳跃(避免连跳)的时候应该学过了.

我们在格子换造型的时候, 同时把这个格子的私有编号这个私有变量加入了列表, 这里用的是替换, 下面详细讲一下.

先创建一个列表, 里面都是0, 代表所有格子现在都是空的, 对应关系如下

比如我点击5的时候, 那么角色的私有变量是5, 于是把第五项的0换成了1, 我用1代表的螃蟹, 2 代表乌龟, 跟0区分开就可以.

每次点击之后, 都要判断是否赢了, 所以加上自制积木进行判断

输赢这个不用讲了吧, 横向,纵向,斜线都要检查.

自制积木如下:

上面其实可以优化一下, 自己可以进行尝试(加法), 第一层如果, 判断的是这几个格子是不是同一个角色, 是的话说明胜利条件达成, 第二层判断的是具体是哪个角色赢了.

最后加一个如果在判断输赢后面, 一旦列表里没有0了, 说明9个格子满了,就是平局.

至此, 本题基本就完成了, 剩下的都是piece of cake 了.

上面又多了一个是否结束的变量,为的是解决游戏结束之后, 不能再点击的问题, 因为我之前用的是当角色被点击这个积木, 这个模块不受绿旗控制, 因此单独做一个变量来区分.

在下面这个位置加上这个条件, 目的是结束之后, 点击也不会换造型.

这题难度中等, 就是在判断输赢那里花了些时间, 是可以再优化一下的.