欢迎光临散文网 会员登陆 & 注册

坦克大战(1)双人对战

2023-06-13 10:07 作者:小晓少儿编程  | 我要投稿



第一部分  作品预览


《坦克大战双人》操作指南:

1、点击绿旗,开始游戏;

2、使用方向键控制红坦克;

3、使用W-S-A-D键控制蓝坦克;

4、按下数字键0,红坦克开火;

5、按下空格键,蓝坦克开火;

6、血量先到0的一方为输家。

下载链接:

(源代码)链接:https://pan.baidu.com/s/1uvPwpSrAEKAPth4TCBDIiw?pwd=i0ms 

提取码:i0ms

(改良版)链接:https://pan.baidu.com/s/1gc-xhawyzyIH3OyGKvD1Fw?pwd=fu4j 

提取码:fu4j



第二部分  任务解读


1、红坦克任务解读:红坦克主要有五项任务。

任务一】初始化操作。

游戏开始之后,将红坦克定位到初始位置,同时,将红坦克的血量设定为10。

任务二】游戏结束操作。

游戏结束之后,想要达到冻结最后一幕的效果,收到“游戏结束”消息后,停止该角色的其他脚本。

任务三】移动操作。

收到“游戏开始”消息后,可以使用上下左右方向键控制红坦克进行移动。由于移动操作要进行很多次,所以,需要重复执行;同时,结合判断积木块,将移动操作与方向键一一对应。

注意:为了便于调整,坦克的移动速度,使用变量“坦克速度”进行填充;同时,为了缩短代码量,自定义了一块“退步”积木块,当碰到黑色边框或者对方坦克的时候,执行退步操作。

任务四】造型切换和声音播放操作。

由于,坦克只有在移动的时候才应该发出声音,并且切换造型,显示移动的效果;并且,造型切换和声音播放属于两个相互独立且同时进行的操作;所以,使用两段重复执行代码块,结合判断方向键是否按下,实现预期效果。

任务五】开火与中弹操作。

实际上,开会与中弹是两个相互独立的操作,并且不分先后顺序,按理说,应该效仿任务四,用两段代码进行处理;但是,开火和中弹的持续时间比较短,放在同一个重复执行代码块中处理,不影响最终效果;所以,开火和中弹操作可以写在一个代码段里。


2、蓝坦克任务解读:

复制一下红坦克,把复制后的角色改名为“蓝坦克”。这个时候,按下方向键,两辆坦克同时移动。只需修改一下蓝坦克的按键操作即可:将上键改成W键、下键改成S键、左键改成A键、右键改成D键;最有一个,将开火按钮改成空格键。


3、炮弹任务解读:炮弹主要有三项任务。

任务一】初始化操作。(略)

任务二】游戏结束操作。同红坦克的任务二。

任务三】移动操作。

炮弹的移动比较复杂,炮弹的本体是隐藏的,移动的都是克隆体,克隆体启动后,移动过程分为三个阶段。

阶段一:根据“开火位置”参数进行判断,移到开火的坦克一方,根据“开火方向”参数设定炮弹的运动方向。

阶段二:使用重复执行,不断朝着预定方向移动。

阶段三:碰撞检测。如果碰到黑色边框,发出碰撞声音,然后删除此克隆体;如果碰到红坦克,发出中弹声音,同时红坦克血量减少1,广播中弹消息,然后删除此克隆体;如果碰到蓝坦克,曹操和碰到红坦克相似,不同的是蓝坦克血量减少1。


4、标题任务解读:跟踪弹主要有两项任务。

任务一】初始化操作。初始化操作完成之后,要广播一条“游戏开始”消息。

任务二】接收中弹消息。每次中弹之后,都要判断一下双方的血量,只要有一方的血量为0,游戏就会结束。


5、边界和版本任务解读:这两个角色都只有初始化操作。


6、背景任务解读:背景主要有两项任务。

任务一】初始化操作。

主要是对变量进行初始化操作,然后播放背景音效。

任务二】游戏结束操作。

收到“游戏结束”消息之后,停止播放背景音效。



第三部分  代码编写


红色坦克代码(1)
红色坦克代码(2)

备注:蓝色坦克代码,请参照红坦克的代码,或下载源码。


炮弹代码
标题代码
背景代码



第五部分  探究与改良


一、游戏的标题使用的是纯文字,你能不能到网上找一下合适的配图,再加入一些美化代码,让游戏标题更酷炫?

二、坦克的血量使用变量显示的,显得平淡无奇,你能否参考其它游戏,美化一下血量呢?或者用坦克图标表示剩下几条命也是不错的主意,动手试试看。



✎ 编 者 寄 语 

关于探究改良部分,希望大家认真思考!本文提供的作品源码及改良源码仅供参考,期待大家探究更优的改良程序!

加油吧,后浪!



坦克大战(1)双人对战的评论 (共 条)

分享到微博请遵守国家法律