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

最近在学习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);
}

先这样,后面再接着写


你可能感兴趣的:(小项目,c++)