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"
JAVA大富翁游戏编程_一道模拟大富翁游戏的程序,希望高手指教一下相关推荐
- Java Review - 并发编程_ 回环屏障CyclicBarrier原理源码剖析
文章目录 Pre 小Demo 类图结构 CyclicBarrier核心方法源码解读 int await() int await(long timeout, TimeUnit unit) int dow ...
- Java Review - 并发编程_读写锁ReentrantReadWriteLock的原理源码剖析
文章目录 ReentrantLock VS ReentrantReadWriteLock 类图结构 非公平的读写锁实现 写锁的获取与释放 void lock() void lockInterrupti ...
- Java Review - 并发编程_原子操作类LongAdder LongAccumulator剖析
文章目录 概述 小Demo 源码分析 重要的方法 long sum() reset sumThenReset longValue() add(long x) longAccumulate(long x ...
- 使用python开发网页游戏_四大游戏编程网站,边玩游戏,边学Python,拒绝枯燥快乐编程...
原标题:四大游戏编程网站,边玩游戏,边学Python,拒绝枯燥快乐编程 前言 学习编程虽然对有些人来说是件乐事,但是对大多数人来说仍然是一件比较枯燥困难的事情.当然,面临这样困惑的人,并不是只有你一个 ...
- 【游戏编程扯淡精粹】游戏编程设计模式
[游戏编程扯淡精粹]游戏编程设计模式 本文最初写于2018/9/4 毛星云 RIP 如何练习设计模式 基本盘:长期维护一个大型工程,持续积累 维护一个设计模式表格,日常查找使用 多学几门编程语言和编程 ...
- 【3D游戏编程与设计】一 游戏的分类与热点
[3D游戏编程与设计]一 游戏的分类与热点 游戏分类与热点探索 使用思维导图描述游戏的分类.(游戏分类方法特别多) 按游戏设备划分 按游戏参与者类型划分 按网络使用情况划分 按视角维度划分 按人称视角 ...
- 开始利用CSDN做学习笔记,从windows 游戏编程大师技巧和3D游戏编程大师开始
利用两个月的空余时间将windows 游戏编程大师技巧和3D游戏编程大师技巧看了一遍. 第一遍读的并不深入,代码也没有仔细研究.特别是3D下册,基本只是草草浏览了一遍而已.这一遍是为了对整体有个印象和 ...
- easyx游戏编程:魔塔(C++游戏开发)
easyx游戏编程:魔塔(C++游戏开发) 魔塔: 本游戏用到了图形界面库graphics.h,图形界面库下载安装: 下载链接: https://easyx.cn/downloads/. 下方有源码. ...
- 【3D游戏编程与设计】四 游戏对象与图形基础 : 构建游戏场景+牧师与魔鬼 动作分离版
[3D游戏编程与设计]四 游戏对象与图形基础 : 构建游戏场景+牧师与魔鬼 动作分离版 基本操作演练 下载 Fantasy Skybox FREE, 构建自己的游戏场景 下载 Fantasy Skyb ...
最新文章
- opencv读取avi视频并抽取帧
- 鸟哥的Linux私房菜基础学习篇(第二版)第二章课后习题与答案
- 路由器计算机无法上网,路由器安装后电脑无法上网怎么办
- flink 自定义 窗口_《从0到1学习Flink》—— Flink Data transformation(转换)
- Win10一周更新系统开始面向企业分支推送
- 《可爱的Python》读书笔记(五)
- 批量下载小说网站上的小说(python爬虫)
- 【Java】获取Java代码段运行毫秒数的策略
- Laravel核心解读--完结篇 1
- [CTO札记]谁在使用SNS
- 网友调侃特斯拉股价要冲向火星 马斯克:疯狂的时代
- 笔记本电脑主板电池_深圳外星人笔记本电脑维修服务中心
- 我们需要什么样的计算
- C/C++——黑客数字雨特效
- 77---Python 计算Sin(x)的积分
- xign跨平台游戏引擎演示
- 微信公众号文章怎么制作?
- 小刘的BUG(sql注入)
- Android Studio4.0|XXX keeps stopping
- [SUCTF 2019]EasySQL1