先建立类DiceGame的对象objGame并调用类DiceGame的构造函数,为类的数据成员赋初值并开始游戏,再用对象objGame访问类的成员函数Game(),进入游戏,通过选项玩家选择进入游戏或退出游戏。在函数Game()中,先调用Help()函数显示游戏规则,并调用Rand类中SetRandSeed()函数设定当前时间为随机数种子,进入while循环中,显示游戏选项,玩家可选择1.获得帮助。 然后调用成员函数Help()显示提示;2.开始游戏。 然后调用成员函数RollDice(),把随机的两个骰子的点数赋值给整形数sum,通过switch()语句判断玩家输、赢或者平局。若玩家第一盘为平局状态为TIE,则该局骰子和为玩家的点数把sum赋值给myPoint通过调用UserSaysYes()函数选择继续投骰子,直到赚到该点数时获胜状态为WIN,但是用if语句判断如果投掷出的和为7或者连续投掷出六次平局,则游戏者该局为输了LOSE。最后用while循环中的if语句为每一次输赢和平局计数并显示玩家的输赢的语句。3.退出游戏 。然后调用UserSaysYes()函数让玩家确定是否退出,退出后通过调用成员函数Show()显示游戏结果,游戏结束!
3**.2 类的声明**
定义一个骰子游戏类DiceGame,其声明如下:
class DiceGame
{
Private
// 数据成员:
int numOfWin; // 胜利数次
int numOfLose; // 失败数次
int numOfTie; // 平局数次
// 辅助函数
int RollDice(); // 模拟投掷一次骰子
void Help(); // 获得帮助
void Show(); // 显示统计结果
public:
// 方法声明:
DiceGame(); // 无参数的构造函数
virtual ~DiceGame(){} // 析构函数
void Game (); // 模拟游戏
};
定义随机数Rand类:
// 随机数类Rand
class Rand
{
public:
// 方法声明
static void SetRandSeed() { srand((unsigned)time(NULL)); }
// 设置当前时间为随机数种子
static int GetRand(int n) { return rand() % n; }
// 生成0 ~ n-1之间的随机数
//static int GetRand() { return rand(); } // 生成0 ~ n-1之间的随机数
};
四**.主要功能的实现步骤******
===============================
1.获得帮助
玩家输入选择select为1,通过条件语句if(select==1)判断是否满足条件,然后再调用类的成员函数Help(),则显示帮助信息。
void DiceGame::Help() // 获得帮助
{
cout << " 游戏者每次投掷两颗骰子,每个骰子是一个正方体,有" << endl;
cout << “6面上面分别标有1、2、3、4、5、6个圆点,当骰子停止时” << endl;
cout << “,将每个骰子朝上的点的数相加,在第一次投掷骰时, 如果” << endl;
cout << “所得到的和为7或11,那么游戏者为赢得胜利; 如果所得到” << endl;
cout << “的和为2、3或12,那么游戏者为输掉了;如果和为4、5、6” << endl;
cout << “、8、9或10,那么为游戏者