- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 26
目 录 TOC \o 1-3 \h \z \u
一、课题设计内容与主要功能 1
1.1主要内容 1
1.2主要功能 1
二、课题分析 2
2.1 实现方法 2
2.2 类声明 3
2.3 核心算法实现代码 4
三、主要功能的实现步骤 8
四.程序测试与结论 12
五.总结与体会 16
六.附件 18
6.1程序清单 18
6.2参考资料 26
6.3致谢 26
一、课题设计内容与主要功能
1.1主要内容
设计一个游戏,其内容为:游戏者每次投掷两颗骰子,每颗骰子是一个正方体,有6面上面分别标有1、2、3、4、5、6个圆点,当骰子停止时,将每颗骰子朝上的点的数相加,在第一次投掷骰时, 如果所得到的和为7或11,那么游戏者为赢得胜利;如果所得到的和为2、3或12,那么游戏者为输掉了;如果和为4、5、6、8、9或10,那么为游戏者的点数;如要想赢得胜利,必须继续投掷骰子,直到取得自已的点数为止,但是如果投掷出的和为7,那么游戏者输了。
1.2主要功能
具有娱乐性。
2.玩家所获点数有不可预测性。
3.程序具有可选择性,可依自己意愿选择不同选项。
4.由于另外加入了部分源程序,可使界面变色,界面富有色彩感。
二、课题分析
2.1 实现方法
选
选 择
获得帮助
开始游戏
4、5
6、8
9
10
2
3
12
2
7
11
点数
失败
平 局
胜利
Y/N
Y
退出游戏
1
N
开始
3
2.2 类声明
1. 骰子游戏类DiceGame声明如下:
class DiceGame
{
private:
// 数据成员:
int numOfWin; // 胜利数次
int numOfLose; // 失败数次
int numOfTie; // 平局数次
// 辅助函数
int RollDice(); // 模拟投掷一次骰子
void Help(); // 获得帮助
void Show(); // 显示统计结果
public:
// 方法声明:
DiceGame(); // 无参数的构造函数
virtual ~DiceGame(){} // 析构函数
void Game(); // 模拟游戏
};
该类是实现游戏功能的重要类,其中定义了三个私有整形成员来分别表示平局、胜利以及失败的次数,辅助函数有RollDice、Help及Show,还有主要函数Game。
2.随机数类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之间的随机数
};
该类能随机生成数字供游戏中骰子使用。它设置了当前时间为时间种子。
2.3 核心算法实现代码
1.main.cpp:
#include utility.h // 实用程序软件包
#include dice_game.h // 骰子游戏
int main(void) // 主函数main(void)
{
DiceGame objGame; // 骰子游戏对象
objGame.Game(); // 运行游戏
system(PAUSE); // 调用库函数system()
return 0; // 返回值0, 返回操作系统
}
2.骰子游戏实现的核心部分代码
void DiceGame::Game() // 模拟游戏
{
Cover();
char select = 1;
int sum, myPoint;
GameStatus status; // 游戏状态
Rand::SetRandSeed(); // 设置当前时间为随机数种子
Help(); // 获得帮助
while(select!=3)
{
cout endl endl 请选择 endl;
cout 1. 获得帮助 endl;
cout 2. 开始游戏 endl;
cout 3. 退出游戏 endl;
cin select; // 输入选择
if(select!=1select!=2select!=3) //输入不是 1,2,3 重新输入
{
co
文档评论(0)