文/陈新龙
有些孩子本身对数学题的理解能力不错可惜就是在基础运算上容易出错导致成绩不好,一般会说这是粗心造成的,其实这还是缺乏足够的计算锻炼。为了能让孩子能够快乐的训练枯燥的计算题,提高计算熟练度,作为老师的我就想到了用Scratch做一个植物大战僵尸版的算术游戏,让孩子们能够在游戏中练习,让学习变的不再枯燥。今天和大家一起分享一下制作游戏的过程吧(图1)。
1.脚本设计
游戏的角色共有豌豆射手、僵尸、豆豆子弹这三个。游戏中豌豆射手随机给出简单的计算题,收到正确答案后发射豌豆子弹,僵尸不断向左移动,当受到4次攻击后消失,屏幕右边出现新的僵尸开始下一轮计算训练。如果僵尸碰到豌豆射手则游戏失败。当程序开始运行后,背景广播“僵尸出发”,僵尸收到消息开始前进,游戏正式开始。
(1)豌豆射手
豌豆射手角色负责控制和用户交互的部分:询问简单的计算题目,等待用户输入正确的答案。询问的题目来自随机数,用随机1到3代表加减乘三种计算题,除法考虑到会遇到循环小数的问题没有包括在内。例如当随机数为1时,出加法题,以此类推。随机从1到10中取两个变量“数字1”和“数字2”用来参与计算。数字取值范围决定了计算难度,如果改成20以内的四则运算,难度就可以提高不少,还需要相应降低僵尸速度。
(2)豆豆子弹
当用户回答正确的答案后,广播“发射豆豆”,启动豆豆子弹的脚本同时,豌豆射手开始询问下一题。当豆豆子弹角色收到发射指令后,向右移动,直到豆豆击打到僵尸后隐藏。
(3)僵尸
僵尸碰到豆豆子弹扣25点血量,僵尸从游戏开始向豌豆射手方向移动,当碰到豌豆射手后,玩家游戏失败,结束游戏。
游戏的重点之一在于僵尸被击打后,要判断剩余血量,判断玩家是否消灭当前僵尸了,该放出下一个僵尸还是让玩家继续计算下一题。
2.程序脚本
(1)舞台背景脚本
在Woods中分别添加两行字,做为游戏中和游戏失败后的背景造型。我们在舞台背景中放置了启动整个游戏的脚本。内容很简单,程序运行后,设置僵尸的移动速度为10,切换到正确的背景,并且设置广播:“僵尸出发”,通知其他角色游戏开始了(图2)。
(2)僵尸脚本
当角色收到“僵尸出发”的广播后,水桶僵尸向左(90度方向)以10的速度移动。如果僵尸碰到了豌豆射手广播:“你失败了”,换成提示失败的背景造型,隐藏自身,停止所有脚本,游戏结束(图3)。
当水桶僵尸的移动过程中,玩家可以靠正确回答问题来对僵尸进行攻击,当用户每回答正确一道题目后,发射一颗豆豆子弹,豆豆子弹碰到僵尸后发出广播“僵尸被打”,僵尸收到广播后血量扣25点,如果僵尸的血量等于0时,玩家成功击退一只僵尸,等待数秒后,僵尸移动到原来位置,恢复最初的血量(图4)。
(3)豌豆射手脚本
当收到“僵尸出发”广播后,触发“出题”的广播,首先新建一个变量运算符从1到3之间随机产生一个随机数,当运算符等于1时做加法运算,等于2时做减法运算,等于3时做乘法运算。两个变量“数字1”和“数字2”分别用作为参与计算的数字。当用户的回答和正确答案相一致的时候,广播“发射豆豆”。如果答案错误,豌豆射手说:“答案错误”(图5)。
(4)豆豆子弹脚本
豆豆子弹角色在收到“发射豆豆”广播后,从豌豆射手位置,重复X坐标增加10,向右移动。碰到僵尸发出广播“僵尸被打”,僵尸扣血,之后隐藏(图6)。
根据小朋友的反应来看,游戏还是挺受欢迎的,我也很高兴他们能够从游戏中体验到学习的快乐。大家也可以在制作这款游戏过程中加入自己的独创性想法。