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

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

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

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

因为在图2中,每个网格方块对应的就是60步。那为什么碰到边缘则反d?这是为了保证角色在超出舞台后,其坐标系仍然与图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所示。

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

我从编程语言的角度谈区别。

Scratch 是视觉化编程,输入以鼠标为主,减少键盘的使用,也避免了不合法的语法;程序员在工作上多使用文本编程,会容易出现语法及其他方面的编译错误,但编码的效率更高。

Scratch 的主要编程范式是指令式(imperative)和事件驱动(event-driven);程序员在工作上除这两种范式外,还会比较多使用到面向对象(object-oriented)、函数式(functional)编程范式。

Scratch 通过自定义区块(custom block)可一定程度上进行模块化编程(modular programming),但现时的版本中自义区块不能返回值,比较难实现一些递归算法;程序员在工作上有更多模块化的工具,例如把项目分拆成子项目(程序库、框架等),用面向对象的话会把数据封装成类,更方便重复使用、扩展,去开发大型的软件。

Scratch 的变量类型较少,现版本只有字符串、数字和列表,比较难实现复杂的数据结构。

总体而言,Scratch 可培养儿童学习最基本的指令式编程思维(控制结构、变量、表达式、子程序等),视觉化编程容易入手,可实现一些简单的算法,适合做一些简单的图形编程/小游戏。

游戏规则:鲨鱼和螃蟹不断地追逐着小鱼,玩家使用方向键移动小鱼躲避鲨鱼和螃蟹。如果玩家碰到螃蟹,游戏结束;如果碰到鲨鱼,它将停止追逐并加快螃蟹对小鱼的追逐速度,使小鱼更难逃离螃蟹的追赶。

添加海底背景图片。

添加鲨鱼角色,当鲨鱼碰到小鱼时,它会增加变量speed的值(用于设置螃蟹的移动速度),然后执行停止当前脚本。为了加快螃蟹的移动速度,我们使用了停止当前程序模块而非其他选项,因此,程序中其他脚本模块依然正常运行。

鲨鱼的程序如下:

添加螃蟹角色,当螃蟹碰到小鱼时,它会执行停止全部,意味着停止了所有脚本的程序。螃蟹的程序如下:

添加小鱼的角色,通过上下左右按键,控制小鱼上下左右移动。

小鱼程序如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12121707.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存