坦克大战详细设计说明书

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1绪论 (1)

1.1开发背景………………………………………………………………………1.2开发思路………………………………………………………………………1.3开发工具………………………………………………………………………

2程序设计……………………………………………………………………………

2.1主要设计思路……………………………………………………………………

2.2思路设计实现……………………………………………………………………3程序简介………………………………………………………………………

3.1程序一些类的介绍……………………………………………………………

4程序运行与测试……………………………………………………………………

4.1程序开始………………………………………………………………………

4.2程序界面………………………………………………………………………

4.3系统启动测试………………………………………………………………

4.4子弹发射测试………………………………………………………………

4.5玩家移动测试………………………………………………………………

4.6信息发送测试………………………………………………………………

5程序有关代码………………………………………………………………………

5.1………………………………………………………………………

5.2………………………………………………………………………

5.3………………………………………………………………………

6………………………………………………………………………

6.1………………………………………………………………………

参考文献………………………………………………………………………

1绪论

1.1开发背景

随着信息社会的迅猛发展,人们对游戏的要求也越来越高

1.2开发思路

该游戏的界面使用了JA V A awt界面显示技术实现,游戏主窗口类TankClient继承了Frame类,重写了paint方法,在该方法中绘出游戏背景,各种元件和控件等。

游戏的每个组成部分都被封装为一个Java类,例如坦克对象被封装在Tank类中,该类提供了构建坦克对象方法、坦克上下左右移动方法、fire发射炮弹方法、keyReleased按键松开事件处理方法和keyPressed按键按下事件处理方法。炮弹类Missile,提供了移动方法;坦克攻击判定,坦克中保存一个isgood成员变量,判定是否是敌人坦克,在子弹飞行轨迹中判定是否有坦克,若有则判定击毁该坦克。

1.3开发工具

该坦克大战游戏是在Eclipse 集成开发环境中开发的,它目标是实现一个单机版本的人机对战游戏程序,该程序界面比较美观,操作灵活流利。具体实现了游戏界面布局设计、坦克图片绘制、子弹绘制、坦克移动、坦克对战,障碍墙绘制等功能。

坦克游戏结束的条件是,游戏中我方坦克守护的围墙区域被敌人击破,四面围墙被攻破则判定游戏结束。本游戏中为了增加趣味性,对坦克做了人工智能处理,即随机生成坦克的下一步移动方向,随机发射炮弹等。另外,在游戏地图上还增加了墙壁,分为普通墙壁和金属墙壁,普通墙壁一发炮弹即可击破。游戏地图上还绘制了河流、森林等图片,进一步模拟真实的游戏场景,使得该游戏更富有趣味性。

本游戏程序直接在eclipse开发环境中运行,建议使用jdk1.6版本,在eclipse直接右击工程名,选择run as Java Application即可正常运行程序,使用键盘上的方向键和S按键发射炮弹。

2程序设计

2.1主要设计思路

2.2成粗设计的实现

3.1有关类的介绍

TankWar类:

TankWar继承Frame类。

1、paint( )方法

paint( ) 方法主要实现对坦克类和子弹类,障碍物类和爆炸类等画到窗口上。坦

克类又分为MyTank和EnwmyTank 两类。对这两类用不同的颜色画到窗口上。

画子弹时通过传递坦克的颜色画出相应的子弹颜色。

子弹画坦克死亡则不再对其进行重画。

2、update( )方法。

update( ) 方法主要是为了解决,重画频率太快,paint( ) 方法还没有完成,重画

坦克时出现的闪烁现象。

通过双缓冲技术将所有东西画在虚拟图片上,一次性显示出来解决闪烁现象。

3、内部类KeyMon键盘监听

KeyMon继承KeyAdapter类。通过KeyMon类的监听,用户可以通过键盘控制

自己的坦克。

4、内部类MyTankWarThread

MyTankWarThread实现Runnable接口,通过MyTankWarThread实现对坦克的

重画,实现坦克的移动。

5、showFrame( )方法

showFrame( )方法主要是设置一个窗口及其各种参数。

Tank类

Tank类是实现Runnable接口的一个抽象类

1、Tank类的主要属性有:

int x; //坦克的位置

int y; //

int oldx; //坦克上一步的坐标

int oldy; //

Dir dir; // Tank方向的成员变量

int speed = 5;

boolean isLive = true;

2、Tank类提供各种的构造方法

Tank(int x, int y)

Tank(int x, int y, Dir dir)

Tank(int x, int y, Dir dir, TankWar tw)

根据不同的需要使用不同的构造方法。

3、drawTank ()方法

drawTank()方法根据坦克的类型不同可以画出不同类型的坦克和不同方向的坦

克。敌人的坦克用BLUE画出来,自己的坦克用RED颜色画出来,以区分敌我。

4、fire()方法

fire()方法的功能是实现打出一颗子弹,fire()方法调用了画坦克的颜色变量c ,

相关文档
最新文档