C++_坦克大战_源码_注释

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/D_K_01/article/details/79058393

#CPP_Tank
##功能:
1.人模式;双人模式;
2.可鼠标自定义地图;
3.简单关卡;随机道具;
4.坦克等级根据不同颜色区分;
不同等级速度AI不同;火力不同;
5.可存档读档;

###Github:
C++版:https://github.com/dkni0/CPP_Tank
C  版:https://github.com/dkni0/C_Tank
C版无存档功能

##备注:

Win10 VS2015编译;
Win10控制台请设置光标大小为【中】;字号【12】;
其他版本请根据实际情况设置;


##游戏截图:
主界面

主界面

关卡

关卡

地图设计

地图设计


##设计思路

游戏流程

游戏流程

整体架构

整体架构


##C版
C版的写了五天,一部分功能没有实现;
C版中基本都是用的全局变量来对地图数组进行操作;

##C++版
C++版本在C的基础上进行了封装升级;增加存档、道具功能;
加入A星寻路,优化还不够好,全范围搜索太卡,对搜索半径进行限制;
整个游戏核心在于子弹和坦克的碰撞检测处理;

Game类中建立地图对象;坦克和子弹类中传入地图对象指针对地图操作;
通过Game类来操作其他类;在Game类中建立坦克和子弹vector容器;
通过clock()函数在游戏主循环中对速度进行控制;
子弹类中对运算符重载检测碰撞;判断坐标是否相等;
鼠标绘图主要是对鼠标和键盘事件的调用;


###End

猜你喜欢

转载自blog.csdn.net/D_K_01/article/details/79058393