【scratch游戏制作案例及教程】植物大战僵尸(口算篇)

今天,我们来学习关于加减乘除口算的测试。当然,我们不会像课堂上那样,黑板上写题答题,我们会用植物大战僵尸的游戏来实现口算的测试。

首先,我们将口算测试的难度分为四个不同的难度。简单的:只有加法(20以内);中等的:有加减(20以内);困难的:有加减乘(20以内);特难的:加减乘除(20以内)

【scratch游戏制作案例及教程】植物大战僵尸(口算篇)-少儿编程网

所以,游戏的开始,我们让测试者选择不同的难度,设定一个变量“难度”来记录用户的选择,在后面生成计算题的时候,这个变量就可以起到作用了。那么,如何侦测到用户的选择呢?这里可以通过点击的区间来判断,如上图背景中,每个按钮的位置是固定的,因此可以通过坐标区间确定它的位置。程序如下图所示:(对“背景”)

【scratch游戏制作案例及教程】植物大战僵尸(口算篇)-少儿编程网

选择完难度之后,就要根据不同的难度载入不同的题库,当进入游戏之后,就会随机生成计算题,利用随机数和运算符来生成题库。答题者只有回答口算结果正确,植物才能产生子弹(也就是吐出豆豆),因此,如果回答正确就要发出广播消息“豆豆加1”。程序如下图所示:(对角色“植物”)

【scratch游戏制作案例及教程】植物大战僵尸(口算篇)-少儿编程网

那么,豆豆接收到广播之后,怎么发出呢?这里很简单,先将豆豆移到植物的“口”边并显示出来(接收广播之前豆豆是不存在的,也就是要隐藏的),射出子弹的效果其实就是豆豆水平的由左向右的移动,因此,只要保持Y坐标不变,重复执行增加X坐标。同时,如果碰到僵尸,又要被隐藏。程序如下图所示:(对角色“豆豆”)

【scratch游戏制作案例及教程】植物大战僵尸(口算篇)-少儿编程网

游戏开始时,僵尸会在一段时间按照速度来接近植物,但子弹可以消灭僵尸。我们设定一次游戏有10个不同的僵尸,每个僵尸的血不一样,速度也不同,有的僵尸需要被射击三次才能被消灭,有的一次就被消灭。10个僵尸都被消灭,游戏才通关,相反,如果被僵尸吃掉,则失败。程序如下图所示:(这里的变量“绷带僵尸”设定为2,当接收到广播消息“绷带僵尸被打”减1,如果“绷带僵尸”=0则隐藏,也就是绷带僵尸被射击两次就会被消灭,其它类型僵尸只需更改初始设定)另外可以设定一个变量来记录得分,可以让参与者看看最高得分是多少。

【scratch游戏制作案例及教程】植物大战僵尸(口算篇)-少儿编程网

最后,整个游戏的技术要点在于:使用消息传递响应结果;使用变量记录响应结果;使用侦测来检测角色的接触。因为游戏代码比较多,就不一一讲解了,附上作品(链接: https://pan.baidu.com/s/1jIkqRD8 密码: w99c)供大家参考研究,可以看看每段程序,理解它的作用,遇到不理解的地方可以尝试改变一下程序,然后再看看效果,或者在文章底部评论留言!

*文章为作者独立观点,不代表少儿编程网立场
发表评论

坐等沙发
相关文章
适合孩子学编程的教育游戏APP有哪些?
适合孩子学编程的教育游戏APP有哪些?
为什么大多数学编程的孩子表达能力高于同龄人?
为什么大多数学编程的孩子表达能力高于…
编程少年丨崔少天:幼儿园里学编程的6岁男孩
编程少年丨崔少天:幼儿园里学编程的6岁…
如果孩子系统学完Scratch、Python、NOIP,编程能力可以达到什么水平?
如果孩子系统学完Scratch、Python、NOIP…
编程少年丨夏启航:10岁男孩的“慢”哲学
编程少年丨夏启航:10岁男孩的“慢”哲学
编程少年丨林于森:一个7岁男孩的编程奇缘
编程少年丨林于森:一个7岁男孩的编程奇缘
我还没有学会写个人说明!