栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 学术 > 人文期刊 > 电脑报

Scratch经典游戏之坦克大战

电脑报 更新时间: 发布时间: 学术归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Scratch经典游戏之坦克大战

陈新龙

小时候能够花点钱在小卖部游戏机上玩一下午那是非常开心的事情,当时最吸引我的是坦克大战,因为可以和哥哥双人PK,为了美好的童年回忆,今天就和大家一起用Scratch完成坦克大战吧。

游戏分为红蓝两方,两个玩家分别通过方向键和WASD键控制坦克方向。和其他游戏的方向控制方式不同,坦克的运动方式是上下键控制坦克前进和后退,左右键控制坦克旋转(左键逆时针旋转,右键顺时针旋转)。

与原版的坦克大战不同,游戏地图的障碍物无法破坏,但可以反弹炮弹。这样在游戏中玩家可以利用地形打击对方,使游戏的可玩性大大提升。相应的我们针对炮弹的射程也做了适当限制,这样当炮弹击中障碍物后不会无限反弹。

1. 绘制地图

首先自己在背景中绘制地图,不同的背景地图相当于游戏的关卡,选择合适的颜色与适当粗细的线段画出来就可以了,你可以绘制多张地图随机调用(图1)。

2. 坦克代码

坦克代码首先要实现运动控制功能。首先对红色坦克编程,当玩家按下上下键时坦克前进或后退5步。为了控制坦克旋转角度,设置新的变量“红色坦克方向”,用面向“变量”方向的积木实现方向控制(图2)。

在绘制坦克图形时有个小技巧,我们将坦克的前后两部分的外边设置成了不同的颜色,这样就可以侦测出当坦克向前移动时撞到墙壁后自动倒退5步,完成停止不动的效果,后退也是相同的原理(图3)。

3. 炮弹代码

当两个玩家按下空格键和J键便可分别发射黄色的炮弹,炮弹击中敌方的坦克和误伤到自己都会扣10滴生命值。当炮弹碰到墙壁后根据入射角度反弹。

对红色的炮弹编程,按下空格键,首先炮弹面向坦克移动的方向,移动到红色坦克后,注意这时要再继续移动40步,这样炮弹才像是从炮管前端发射出去的。广播“发射炮弹”。碰到坦克角色后扣除血量(图4)。

在接收到“发射炮弹”广播中处理炮弹碰到墙壁后的反馈。需要根据不同的角度进行反弹,根据不同入射角度我写了两种反弹方式,大家也可以自行推导。

第一种当炮弹从右上角40度方向发射,碰到墙壁后,可能会反弹到-40度左上角方向。炮弹方向由原来的X度变成了-X度(图5、6)。

第二種当炮弹从右上角40度方向发射,碰到墙壁后,可能会反弹到140度右下角方向。面向的方向由原来的X度变成了180-X度(图7、8)。

这样一个简单又经典的坦克大战游戏就完成了,我们也可以在此基础上加上一些关卡,通过设置不同的背景图案进行红蓝两方的防守与攻击的较量,调试成功后拉着小伙伴一起玩吧。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/xueshu/238467.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号