美文网首页少儿编程Scratch系列课程
少儿编程Scratch第七讲,猫咪收集钱袋游戏,附带程序

少儿编程Scratch第七讲,猫咪收集钱袋游戏,附带程序

作者: 创客猿 | 来源:发表于2020-08-21 10:05 被阅读0次

    猫咪收集钱袋

    游戏规则:玩家使用方向键控制角色的移动,尽可能多地收集钱袋。但是钱袋可不会傻傻地等着猫咪。钱袋的位置会随机地出现在网格中。当钱袋出现后, 若玩家在3秒内没有抓住它,它则会随机出现在网格的其他位置。

    第一步

    我们从猫咪角色Player的脚本开始吧!如图1所示。

    当玩家单击绿旗后,角色移动到点(-30,-30),并面向右侧❷。 另外四段脚本由方向按键触发。当按下某个方向键时,其对应的脚本首先改变角色的面向方向❸,并发出“砰”的一声❹(来自声音模块),然后朝着该方向移动60步❺,最后碰到边缘反弹❻。你知道为什么是移动60步,而不是其他步数吗?

    因为在图2中,每个网格方块对应的就是60步。那为什么碰到边缘则反弹?这是为了保证角色在超出舞台后,其坐标系仍然与图2保持一致。

    你是否觉得在图1中四段处理方向键的脚本非常相似呢?在之后的课程中,我们将会学习如何处理重复的脚本。

    测试一下当前脚本,通过方向键应当能移动角色Playero如果 运行效果正常,我们开始讲解角色Gold,其脚本如图2-18所示。

    第二步

    钱袋的程序如图3所示,用一个变量score来记录猫咪收集了多少钱袋。变量在数据模块中创建。score叫作变量,它可以保存供后续脚本使用的信息,之后课程中会详细介绍。因为游戏开始时猫咪还未收集到钱袋,所以首先将变量score的值设置为0。然后设置20次重复执行❷,表示总共收集20个钱袋(你也可以随意修改这个值)。每次重复执行时,钱袋会被放置到舞 台的任意位置❸,使玩家在有限的时间内控制猫咪收集钱袋❹,如果抓到钱袋,则增加变量score的值❸。

    正如图2所示,要让钱袋在舞台的48个方格中随机出现, 则其x坐标必须是下列值之一 -210, -150, -90,…,210每个数字之间相隔60步,并以-210为起点,它们满足如下公式:

    x = - 210 + (0 x 60)

    x = - 210 + (1 x 60)

    x = - 210 + (2 x 60)

    x = - 210 + (3 x 60)

    其余的X坐标值类似。y坐标值的计算方法与之相同。要让钱袋的x坐标随机变化,我们可以生成一个0到7的随机数字,乘以步数60,再加上起点-210。图4演示了将x坐标设定 为积木的建立过程。

    当钱袋随机出现后,玩家只有3秒的时间(你也可以修改这个时间间隔调整游戏的难度)。为了记录时间,脚本首先重置Scratch 的计时器,使其从0秒开始计时,然后在…之前一直等待积木会一 直等待着,脚本不再继续向下执行,直到玩家碰到了钱袋或者计时器超过了 3秒,在…之前一直等待积木才会继续执行下面的如果/ 那么积木。它的创建过程如图5所示。

    如果/那么积木的内部脚本仅在其指定条件为真的情况下执行,详细内容将在后面的课程中学习,现在你只需要知道其含义是:如果碰到了角色 Player,则执行其中的脚本。如果角色碰到了钱袋,如果/那么积木就会执行。首先播放声音积木播放名为WaterDrop的水滴声,然后将变量score的值增加1 积木(来自数据模块)增加变量score的值。

    Scratch计时器

    Scratch内置了一个计时器。当你在浏览器中打开Scratch后, 计时器被设置为0,并立刻开始计时。侦测模块中的计时器积木可以得到当前计时器的值,其前面的复选框可以将值显示器显示/隐 藏在舞台上。计时器归零积木将计时器的值重置为0 (因此,若从未使用过该积木,计时器则记录Scratch的运行时间)。项目停止运行后,计时器仍然会继续计时。

    相关文章

      网友评论

        本文标题:少儿编程Scratch第七讲,猫咪收集钱袋游戏,附带程序

        本文链接:https://www.haomeiwen.com/subject/bcyhjktx.html