JAVA大富翁游戏编程_一道模拟大富翁游戏的程序,希望高手指教一下

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

//SimGame:  cell.h

//格子的类

#ifndef CELL_H

#define CELL_H

#include "mouse.h"

//格子的基类

class TapBase

{

public:

TapBase(int x,int y):p1(new Mouse1),p2(new Mouse2){

Rlife=x;

Acoin=y;

}

virtual ~TapBase(){}

virtual intReduceLife(int n);//计算减少生命值  n为老鼠的种类

virtual int AddCoin(int n);//计算增加金币值  n为老鼠的种类

virtual int IsTrap() {return 0;};//判断是否为带障碍的格子

virtual int getRlife() {return Rlife;}//返回减少生命值

virtual int getCoin() {return Acoin;}//返回增加金币值

virtual int getMouseLife(int n) {//返回老鼠的生命值n为老鼠的种类

if(n==1)return p1->getLife();

if(n==2)return p2->getLife();

}

protected:

int Rlife;

int Acoin;

MouseBase * p1;

MouseBase * p2;

};

//格子的派生类1: 普通格子

class Tap1:public TapBase

{

public:

Tap1():TapBase(0,0){}

virtual int IsTrap() {return 0;}

};

//格子的派生类2: 带金币的格子

class Tap2:public TapBase

{

public:

Tap2():TapBase(0,50){}

virtual int IsTrap() {return 0;}

};

//格子的派生类3: 带陷阱的格子

class Tap3:public TapBase

{

public:

Tap3():TapBase(80,0){}

virtual int IsTrap() {return 0;}

};

//格子的派生类4: 带障碍的格子

class Tap4:public TapBase

{

public:

Tap4():TapBase(0,0){}

virtual int IsTrap() {return 1;}

};

#endif // CELL_H ///:~

//SimGame: mouse.h

#ifndef MOUSE_H

#define MOUSE_H

//老鼠的基类

class MouseBase

{

public:

MouseBase(int x,int y){

life=x;

coin=y;

}

virtual ~MouseBase(){}

virtual int getLife()=0;

virtual int getCoin()=0;

protected:

int life;

int coin;

};

class Mouse1:public MouseBase

{

public:

Mouse1():MouseBase(100,100){}

virtual ~Mouse1(){}

virtual int getLife(){return life;}

virtual int getCoin(){return coin;}

};

class Mouse2:public MouseBase

{

public:

Mouse2():MouseBase(100,100){}

virtual ~Mouse2(){}

virtual int getLife(){return life;}

virtual int getCoin(){return coin;}

};

#endif // MOUSE_H ///:~

//simgame.h

#ifndef SIMGAME_H

#define SIMGAME_H

#include "mouse.h"

#include "cell.h"

class SimGame

{

public:

SimGame(){

array=0;

}

virtual ~SimGame(){}

virtual void Init(int * p,int n);

virtual void Run(int num);

//void Terminate();

private:

TapBase ** array;   //格子的指针数组

static int site1;   //老鼠1的位置

static int site2;//老鼠2的位置

static int datemax; //main函数中给定数组的上界     用来防止数组超界

};

#endif // SIMGAME_H ///:~

//cell.cpp

#include "cell.h"

#include 

//TapBase::ReduceLife

int TapBase::ReduceLife(int n)

{

if(n==1){

static int m1=p1->getLife();

m1-=Rlife;

return m1;

}

if(n==2){

static int m2=p2->getLife();

m2-=Rlife;

return m2;

}

}

//TapBase::AddCoin

int TapBase::AddCoin(int n)

{

if(n==1){

static n1=p1->getCoin();

n1+=Acoin;

return n1;

}

if(n==2){

static n2=p2->getCoin();

n2+=Acoin;

return n2;

}

}

//simgame.cpp

#include 

#include "cell.h"

#include "mouse.h"

#include "simgame.h"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值