您的位置:首页 > 编程语言 > C语言/C++

C++版的坦克大战(1)---实现基本设计和j简单思想

2015-09-01 17:53 435 查看
最近在学习c++,发现好难学,还在还学会一点。那么,就学以致用一下,打算写个c++简单版的坦克游戏。只所以选择做这个,因为比较简单。

相信很多人都玩过这个游戏,如果没有玩过的话,可以去问问“度娘”,会找到好多。我们玩游戏比较简单,但是,动起手来写代码总会不知道从何下手,我也很纠结。想来想去,有了点眉目:

将所有的数据封装到数据类(CData)中

将所有的算法、检测判断放到引擎类(CEngine)中

将绘图的放置到绘图(CDraw)中

将业务逻辑放置到 游戏类(CGame)中

将CData作为基类存在,CEngine、CDraw作为CData的子类,同时作为CGame的基类,由于c++中存在多继承,为了避免出现多继承的二义性,建议使用虚基类实现。

形成如下的逻辑:

CData

/ \

/ \

/ \

CEngine CDraw

\ /

\
/

\ /

CGame

代码如下:

CData类

class CData{
public:
CData();
~CData();
}
CEngine 类

class CEngine : virtual public CData
{
public:
CEngine(void);
~CEngine(void);
}


CDraw类

class CDraw : virtual public CData
{
public:
CDraw(void);
~CDraw(void);
}


CGame类

class CGame : virtual public CDraw, virtual public CEngine
{
public:
CControl(void);
~CControl(void);
}


先这样,后面再接着写
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: