CPP_Tank Game

本项目所用的知识点有:
C/C++:
运算符相关,数组(一维,二维,多维),条件分支,循环,函数,继承,派生,运算符重载,纯虚函数,抽象类等,以及内存管理。
数据结构:
STL 库,A*算法

开发环境:Windows10+VS2015+CPP

实现功能:
1.坦克可以随意移动,可以发射炮弹,炮弹发射后可以动向前移动。

2.坦克在移动时判断碰撞条件,可被障物阻挡。

3.游戏可暂停,可中途退出。

4.炮弹发射可以摧毁部分物品及坦克

5.可以让两个玩家协同作战( 可同时只接受一方操作) ,具有简单的计分功能

6.敌军坦克有三种类型(血值、攻击力、速度不同),三种类型分别是0,1,2等级的坦克

7.有关卡功能,地图难度不一样,可以让玩家闯关,一共四关

8.可以按照预定义规则生成新敌军,敌军坦克有出生点

9.有专门的地图编辑功能,可以让玩家定义地图。其中可以画钢墙土墙丛林河流等,还可以擦除,可以保存和退出到主菜单。

10.中途游戏可以退出,可以暂停,可以保存游戏,等下次再玩。

11.背景音乐

12.AI 敌军坦克具有一定寻路能力,如A星寻路和简单的十字寻路

13.游戏中还会出现随机五角星功能道具,红色加血加等级,蓝色减血降等级,黄色可以穿越河流。

类的设计:


CPP_Tank Game_第1张图片
image.png

各个类的功能
CAStar 实现A星寻路算法 CBaseObject 基本对象的虚基类,绘制和擦除
CBulletObject 子弹类 实现子弹的移动和碰撞等
CTankObject 坦克类 实现坦克的移动和碰撞等 CDrawObject 绘图类 画和擦除
CMapObject 地图类 实现编辑,读取,保存地图等
CGameObject 游戏类 执行玩家操作,读取,保存游戏等
TangTank 程序主类main

游戏主菜单

CPP_Tank Game_第2张图片
image.png

游戏中

CPP_Tank Game_第3张图片
image.png

双人作战

CPP_Tank Game_第4张图片
image.png

编辑地图

CPP_Tank Game_第5张图片
image.png

项目请见于:https://github.com/MagicalGuy

你可能感兴趣的:(CPP_Tank Game)