nianliu26 / TANK_WAR

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TANK_WAR

一个基于Qt坦克大战,学习Qt时的练手项目。

1.模式选择

目前只有单人模式,以后完成多人联机模式的计划。

2.地图选择

单人模式下的地图选择,可以选择项目文件下src/map目录下的地图资源,地图资源是通过.txt文本文件进行保存,可以进行自定义,程序内部对选择的地图合法性进行判断。地图合法性如下:
2.1 程序是通过二维数组保存地图的,所以将地图分割成了n*m个地图单元,一个地图单元在实际窗口上表现为一个正方形区域,程序内部默认一个地图单元边长(d)为66,拿到代码后可以自己进行更改;
2.2 在src/map目录下有一个地图列表和若干地图资源文件,地图列表保存的是目前拥有的地图资源的名称,地图资源保存地图信息;
2.3 在地图资源中,第一行是一个整数表示地图横坐标长度(x),第二行表示地图纵坐标长度(y),后续就是一个二维数组保存地图布局信息;
2.4 在布局的二维数组中,用 0 表示该地图单元为空白,用 -1 表示该地图单元为墙壁,用 1 表示游戏开始会在该地图单元位置刷新玩家单位,用 2 表示游戏开始时刻会在该位置刷新npc单位;
2.5 注意,在地图布局中 1 即玩家单位应只有一个,-1 0 2 都可以有若干个,且二维数组行数(n)乘上地图单元边长(d)应该等于地图资源文件第二行的整数,即 n * d == y,列数(m)乘上地图单位边长(d)应等于地图资源文件第一行的整数(x),即 m * d == x;
2.6 创建了新的地图资源文件,都需要在地图列表文件中新增一行地图资源文件的名称。

3.游戏结束

每个敌方单位和玩家单位都有3滴血,每次被击中都会扣一滴血,扣完之后该单位消失,敌方单位全部消灭则游戏胜利,玩家单位被消灭则游戏失败。

About


Languages

Language:C++ 89.5%Language:Makefile 7.3%Language:C 3.1%Language:QMake 0.2%