加强版坦克大战(java版)

这个坦克大战参考了初学java时看的马士兵的一个教程和小霸王上的坦克大战,并且加入了很多在魔兽中的英雄属性(移动速度,攻击速度,攻击力,生命上限等),还加入了一个小巧的地图编辑器。

废话不多说,先上图:

游戏界面:

地图编辑器:

详细说明:

1,除了坦克的图片外,其他图片全部为自己手绘,可能有点丑,特别是那个基地——!

2,游戏主界面,右边为属性窗口,在主界面按F4打开地图编辑器

3,游戏规则说明:每一局 会有3波敌人,每一波有6个,每当上一波敌人快被全部消灭时,下一波敌人就会出现。3波敌人全部被消灭则自动进入下一关。攻击敌人有一定的概率会在地图上随机出现不同的食物,食物总共有10种,吃完之后可以增强各种属性(比如增加生命上限,子弹威力,攻击速度,移动速度,无敌等),基地每隔一分钟会随机产生一个食物在基地正上方。基地被消灭或者生命树为0则游戏结束。敌人无法吃到食物。土墙生命值较少,可以被摧毁。钢板无法被摧毁。河流无法被摧毁,但是子弹可以从河流上飞过。每过一关,敌人的属性都会增强,同时自己的属性也会增强(死亡复活后保持不变)。超级子弹是向八个防线发射的,有个数限制,通过吃食物可以增加个数。敌人的子弹不会攻击到敌人,但是自己的子弹会攻击到自己的基地!所有坦克互相之间无碰撞体积。

4,地图加载

每一关的地图文件保存在根目录下的 maps文件夹中,分别以0,1,2,3……表示第1,2,3,4……关,后缀名为.tkm,游戏会自动根据当前关卡加载相应地图。

5,消息

受到攻击,以及吃到食物之后都会产生一个消息在屏幕上,并缓慢上升,几秒后消失。比如被攻击后会产生一个类似于 -20 的消息。

6,属性

自己和敌人都有大约10中属性,分别是坐标,hp,运动方向,炮筒方向,子弹威力,子弹速度,子弹间隔,移动速度,超级子弹个数,无敌时间等,(注意,其中子弹速度是子弹的飞行速度,而子弹间隔是上一颗子弹发出到下一刻子弹发出的最小间隔时间),这些属性都可以通过相应的食物来获得提升,但是有些属性有上县。

7,障碍物

障碍物有3种:土墙,钢板,河流,土墙有较少生命值,可被摧毁。钢板无法被摧毁。河流无法被摧毁,但可被子弹穿过。

8,基地

基地有生命值,基地生命值为0,则游戏结束。基地每1分钟会产生一个随机食物。有些食物可以增加基地生命上限或者使基地恢复满生命。

9,敌人AI

敌人的ai设定是随机向一个方向走,并根据开火频率设定,每走一步以一定的概率发射子弹。碰到障碍物后会自动改变方向。

10,地图编辑器

地图编辑器可以从右边选择相应的障碍物并放到地图上,选择铲子可以清除。点击保存按钮(其实这不是一个按钮),则自动将地图保存到maps目录中的edit.tkm文件中,将此文件改名则可以当做正常地图使用(比如改为 5.tkm 则变成了第五关的地图,游戏到第五关会自动加载,但请按1,2,3,4的顺序命名),不用编辑基地,因为基地是自动加入到画面下方中央的。没有网格的自动对齐功能,可放置任意位置。替换相应的图片可以改变画面。

11,其他

系统画面刷新频率为 20hz。所有的游戏中的物体的行为都是以此刷新频率为时间基础。

导出为jar文件后无法正常使用,因为图片的加载方法有问题(当时不太懂,现在又懒得改了)。所以请在myeclipse中运行。

敌人参数可能设计的不严谨,可能过难或者过简单,可以自行调整。

文件结构有些混乱,将就着看吧。

目前有四关的地图,可以自己用地图编辑器编辑新的地图

声明:仅供学习娱乐之用。

 

附:源码下载地址

http://download.csdn.net/source/3124636

 

2011/3/24  axun

你可能感兴趣的:(JAVA原创)