Scratch之坦克大战

admin 发表于 2019-08-30 12:31

小朋友们都喜欢玩游戏,我们今天就用Scratch来编程一个最基础的坦克大战的游戏。

首先我们确定一下坦克大战游戏的主要功能。

    小朋友可以控制坦克的移动并发射子弹去打击空中的直升机,直升机自行移动并发出子弹,子弹随机朝地面打击。

坦克大战的问题拆分

    1、我们需要一个背景,作为坦克大战的场地

    2、我们需要一个坦克的角色,一个坦克发射的炮弹的角色

    3、我们需要一架飞机的角色,一个飞机发射的子弹的角色

    4、坦克可通过左右键移动

    5、坦克不停的朝天空发射子弹

    6、飞机位于顶部中央

    7、飞机不停的朝地面发射子弹

编程实现

    角色设置

    根据坦克大战的问题拆分,我们一步一步的完成

    1、选择一个星空背景,如Scratch中自带的Stars背景

    2、自行上传一个坦克图片的角色,或者通过绘制,自行绘制一个坦克的角色,并设置其大小和位置,位置置于舞台底部的中央位置。

    3、绘制一个坦克炮弹的角色,设置其大小和位置,位置应该同坦克的角色一起,隐藏角色。

    4、自行上传一个飞机图片的角色,或通过绘制自行绘制一个飞机的角色,并设置其大小和位置,位置置于舞台顶部的中央位置。

    4、绘制一个飞机子弹的角色,设置其大小和位置,位置应该同飞机的角色一起,隐藏角色。

    我们已经将设置完所有的角色和大小,接下来我们需要对各个角色进行编程,让舞台活动起来。

    坦克编程

    1、游戏开始,初始化坦克的位置为(0,-150),置于底部中央,设置大小为20

    2、按左右键,让坦克移动,坦克移动不可超过舞台边缘

https://cdn.china-scratch.com/timg/190830/12311AC9-0.jpg

    坦克炮弹编程

    1、游戏开始,初始化坦克炮弹的位置为(0,-130),置于底部中央,隐藏角色

   2、循环克隆角色,可以通过等待时间控制炮弹的发射速度

   3、当克隆体启动时,显示角色。设置方向朝上(面向0)

   4、炮弹向上移动,如果碰到边缘或飞机,则删除克隆体

    5、在坦克移动时,炮弹要跟随坦克移动,所以在按左右键时需移动炮弹。

https://cdn.china-scratch.com/timg/190830/12311JL7-1.jpg

    飞机编程

    1、游戏开始,初始化飞机的位置(0,150),置于顶部中央,设置大小为20

https://cdn.china-scratch.com/timg/190830/12311H043-2.jpg

    飞机子弹编程

   1、游戏开始,初始化飞机子弹的位置为(0,100),置于顶部中央,隐藏角色

   2、循环克隆角色,可以通过等待时间控制子弹的发射速度

    3、当克隆体启动时,显示子弹。

    4、因子弹随机打击地面,所以在显示子弹后,随机偏转子弹的角度,偏转角度设置为60~120度之间

    5、移动子弹,当子弹碰触到坦克后删除克隆体。当子弹的坐标Y轴小于-150时,删除克隆体   

https://cdn.china-scratch.com/timg/190830/12311S001-3.jpg

就这样我们基本完成了坦克大战游戏的基本编程。

但是我们还可以继续完善坦克大战的游戏。

    1、飞机可左右自行移动

    2、可以给飞机设置生命值,当坦克炮弹碰到飞机时,扣减生命值。当生命值扣减为0,游戏结束。

    3、给坦克设置生命值,当飞机子弹碰到坦克,扣减生命值。当生命值扣减为0,游戏结束

   当然,我们还可以将游戏编程的更加完善,这就需要小朋友们自己来完成啦!!!小朋友们,赶紧动手吧......

后记,小编朋友公司研发了一个游戏化的少儿编程在线课程(5-12岁),游戏化教学结合scratch(一款在线少儿编程工具,类似乐高的积木拼搭),我家娃娃学了几次课,非常喜欢(超预期),16次课才200多块钱,对锻炼孩子的思维能力和动手动力很有帮助。

感兴趣的朋友可以扫描二维码,关注一下,或微信搜索“大耳猴少儿编程”

https://www.china-scratch.com/Uploads/Editor/2018-04-22/5adca08bdc212.jpg