第三章 算法概要设计
3.1 软件结构
1.坦克大战游戏概念详见:2.3缩写及缩略语。
2.本坦克大战游戏按类(详见2.3)可以分为六大模块:
(1)坦克大战管理类(Tankclient)。
(2)坦克类(Tank)
(3)炮弹类(Shell)
(4)血条类(Blood)
(5)爆炸类(Explosion)
(6)墙体类(Wall)
3.处理流程及模块的层次结构和调用关系简图如图1所示:
3.2 数据结构
3.2.1 逻辑结构设计
这里将给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
列名 |
数据类型 |
可否为空 |
|
Speech |
int |
Not NULL |
坦克速度 |
Level |
int |
NULL |
坦克等级 |
Score |
int |
NULL |
坦克分数 |
X,Y |
int |
NULL |
坦克坐标 |
oldx.oldy |
int |
NULL |
旧坐标 |
life |
int |
NULL |
坦克生命 |
Width,height |
int |
NULL |
坦克宽高 |
live |
boolean |
Not NULL |
是否存活 |
good |
booelan |
Not NULL |
敌我坦克区分 |
Direction |
enum |
Not NULL |
坦克方向 |
r |
Random |
Not NULL |
敌方坦克随机步数 |
Tc |
TankClient |
NULL |
引入坦克管理类 |
坦克类信息表格
列名 |
数据类型 |
可否为空 |
|
ScreenWidth |
int |
Not NULL |
游戏界面宽 |
ScreenHeight |
Int |
Not NULL |
游戏界面高 |
num |
int |
NULL |
无尽模式使用次数 |
challenge |
boolean |
Not NULL |
求败模式开关 |
myTank |
Tank |
NULL |
我方坦克 |
tanks |
List<Tank> |
NULL |
坦克集合 |
shells |
List<Shell> |
NULL |
子弹集合 |
walls |
List<Wall> |
NULL |
墙体集合 |
blood |
Blood |
NULL |
引入胶囊 |
坦克管理类信息
列名 |
数据类型 |
可否为空 |
|
Speech |
int |
Not NULL |
移动速度 |
numbers |
int |
Not NULL |
胶囊类型 |
live |
boolean |
Not NULL |
是否存活 |
tc |
TankClient |
NULL |
引入坦克管理类 |
Direction |
enum |
Not NULL |
移动方向 |
胶囊信息表格
列名 |
数据类型 |
可否为空 |
|
x,y |
int |
Not NULL |
爆炸坐标 |
tc |
TankClient |
NULL |
引入坦克管理类 |
step |
Int |
Not NULL |
爆炸步数 |
爆炸类信息
列名 |
数据类型 |
可否为空 |
|
Speech |
int |
Not NULL |
子弹速度 |
Width,Height |
int |
Not NULL |
子弹宽高 |
X,Y |
Int |
Not NULL |
子弹坐标 |
live |
boolean |
Not NULL |
是否存活 |
good |
boolean |
Not NULL |
敌我子弹区分 |
子弹信息表格
列名 |
数据类型 |
可否为空 |
|
X |
int |
NOT NULL |
横坐标 |
Y |
int |
NOT NULL |
纵坐标 |
width |
int |
NOT NULL |
宽度 |
height |
Int |
Not NULL |
长度 |
number |
Int |
NOT NULL |
类型 |
tc |
TankClient |
NOT NULL |
引入坦克管理类 |