蓝桥杯青少年创意编程大赛Scratch编程题解析(六)
作者:
来源:《电脑报》2020年第08期
        将舞台背景设置为“spotlight-stage”,添加一个“Bellerina”角、两个“Druml”角和两个“Drum2”角,并按照图1的位置摆放。角“Bellerina”的造型和颜的设置须如图所示,五个造型的裙子颜顺序为:白、红、蓝、绿、黄。四个鼓的颜分别设置为:红、蓝、绿、黄。
        舞台中央的小女孩会随机变换造型及衣服颜4次,游戏玩家要记住衣服颜出现顺序,并按顺序敲击相应颜的鼓,颜顺序正确则可得1分,并开始下一轮变换颜:直到某一轮敲鼓顺序错误则游戏结束,更新最高得分。
        具体要求:(1)每次点击绿旗后,舞台左上角的“得分”(显示位置见图1)都为0。
        (2)小女孩为造型1(白裙子):并说“请观察颜序列!”2秒钟。
小学创意编程学什么
        (3)小女孩切换4次造型,每次都是随机切换为造型2到造型5中的一个(这4次切换的造型之间允许重复):而且第一次切换后要说“1”1秒钟,第二次说“2”1秒钟,第三次说“3”1秒钟,第四次说“4”1秒钟(图2)。
        (4)在4次造型切换完成后,小女孩切换回造型1(白裙子),表示一轮切换结束。小女孩说:“请按顺序点击相应颜鼓!”
        (5)游戏玩家根据刚刚小女孩4次切换造型中衣服颜的顺序,依次点击(敲击)相应颜的鼓,在敲击第一次鼓后小女孩说“1”,第二次后说“2”,第三次后说“3”,第四次后说“4”。如果玩家敲击的顺序与衣服颜切换的顺序相一致,小女孩就说“正确”2秒钟,且得分加1,并从步骤2开始下一轮游戏,如果敲击的顺序错误,小女孩就说“游戏结束”,并根据当前得分的情况更新舞台右上角的最高得分(显示位置如图所示),程序结束。
        本题需要制作一个锻炼记忆力的小游戏。由于是本次考试的最后一题,难度当然较高。要考查考生的全面能力。角有小女孩和4个不同颜的鼓,不同角间需要用到消息。游戏需要重复变和敲鼓,最好将需要复用的代码用自定义积木保存,减少编码的工作量。还要解决以下几个需求点。
        (1)右键复制鼓,在造型面板用油漆桶修改角颜。
        (2)建立“顺序”列表并将2-5的随机数存入列表。并根据随机数字变换小女孩的造型。这些代码作为自定义“变换造型”积木,便于重复使用。如图3。
        (3)敲不同颜的鼓发出不同的消息。
        (4)小女孩根据接收的信号进行判断。首先判断鼓的颜和列表中数字是否一致,如果一致表示记忆颜正确。其次判断消息次数是否等于4次,为否则等待核对下一个鼓颜的消息,为真则表示记忆全部正确。一轮完成,将得分加1。
        再次运行“变换造型”积木开始新一轮循环,变换造型并等待新一轮敲鼓。这部分代码存入自定义“敲鼓”积木。
        (5)如果敲鼓颜和列表中记录不一致则“游戏结束”。游戏结束时,先“停止其他角的脚本”,“小女孩”角说“游戏结束”后停止全部脚本。如图4。
        (6)敲鼓时需要说出1到4,且与敲鼓顺序无关,所以需要单独计数,且每次敲鼓都
要加1。需要单独变量顺序数,这个临时变量“计数”可以与跳舞的顺序数共用也可分开建立。
        (1)删除角小猫,将背景设为“spotlight-stage”,添加一个“Bellerina”角、两个“Druml”角和两个“Drum2”角。
        (2)修改4个鼓的颜,为每个鼓编程。绿旗开始固定位置,当角被点击时广播消息1并等待,每个颜的鼓程序基本一致,仅发出的消息编号不同。对应小女孩衣服的颜,红是1,蓝是2,绿是3,黄是4。如图5。
        (3)修改小女孩的造型颜和造型名称,为小女孩编程。建立变量:得分、最高得分、计数、鼓颜数(记录每次敲鼓的颜)。建立列表:顺序(用于记录每轮衣服变的顺序)。制作新积木:变换造型(处理衣服变)、敲鼓(处理敲鼓消息)。点绿旗之后初始化变量和列表。然后第一次执行“变换造型”。如图6。
        (4)变换造型代码如下:产生随机数,存入列表,根据列表中的随机数变换造型。变量“计数”用于小女孩每次说出的数字。循环4次后切换回造型1,等待玩家点击不同鼓发出的消息。代码如图7。
        (5)每次收到消息都将“计数”加1用于记录本轮内回答的次数。根据接收到的消息序号为变量“鼓颜数”赋值,红为2,蓝为3,绿为4,黄为5。然后执行“敲鼓”积木处理消息数据。如图8。
        (6)“鼓颜数”与列表记录数据依次对比。如果回答正确4次后,得分增加1,再次启动“变换造型”积木开始下一轮循环。直到出现错误回答,更新最高积分后结束程序。具体编程如图9。
        本题是本次蓝桥杯青少年创意编程大赛Scratch编程题的最后一道大题,角较多且代码量不小,考点多难度较高。在考试时间有限的情况下能够按时完成的话实力相当不俗,相信你通过刻苦学习和训练也能有实力亲自去角逐下一届蓝桥杯。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。