- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C实验报告骰子游戏
C++实验报告 骰子游戏
目录
C++实验报告 2
骰子游戏 2
目的与要求 2
二、工具/准备工作 2
三、分析 2
四、实现步骤 4
五、测试与结论 6
六、实验总结 8
C++实验报告
骰子游戏
目的与要求
在碰运气游戏中最常见到的是“投掷双骰子”游戏,这种游戏在影视作品中经常会见到它的影子,游戏规则实际上很简单:游戏者每次投掷两棵骰子,每个骰子是一个正方体,有6面,上面分别标有1、2、3、4、5、6个圆点,当骰子停止时,将每个骰子朝上的点数相加,在第一次投掷骰时,如果所得到的和为7或11,那么游戏者为赢得胜利;如果所得到的和为2、3或12,那么游戏者为输掉了;如果和为4、5、6、8、9或10,那么此和为游戏者的点数,如要想赢得胜利,必须继续投掷骰子,直到取得自已的点数(也就是第一次投掷出的4、5、6、8、9或10)为止,如果投掷出的和为7,那么游戏者为输掉了游戏。
二、工具/准备工作
Micros Visual C++ 6.0。
三、分析
1.构造一个掷骰子的类CDice:
class CDice
{
public:
int RollDice();
void explain();
void start();
private:
int a,b,c;
};
在类外定义函数RollDice(),explain(),start()。
2.由于掷一枚骰子会随机产生1~6中的一个数字,使用随机数模6并加1来表示一枚骰子所产生的数:
a=rand()%6+1;
b=rand()%6+1;
c=a+b;
c即一次骰子游戏所得到的数字。
3.根据玩家的选择运行程序:
do
{
if (p!=1p!=2p!=3){}
else if (p==1){}
else if (p==2){}
}while (p!=3);
4.在每一次游戏开始时,为确保随机数的随机性,使用srand函数来生成伪随机数序列的种子:
srand((unsigned)time(NULL));
5.在main函数中,使用多个if来区分玩家第一次掷骰子后的各种情况:
if (m==7||m==11){}
else if (m==2||m==3||m==12){}
else if (m==4||m==5||m==6||m==8||m==9||m==10){}
6.当需进行多轮游戏,用while循环来解决:
n=Dice.RollDice();
for (i=2;n!=mn!=7;i++)
{
cout第i次掷骰子的结果为:nendl;
n=Dice.RollDice();
}
if (n==m)
{
cout第i次掷骰子的结果为:nendl;
cout你赢了!endl;
}
else
{
cout第i次掷骰子的结果为:nendl;
cout你输了!endl;
}
四、实现步骤
1.建立头文件并定义所用到的字符常量:
#include iostream
#include cstdlib
#include ctime
using namespace std;
2.定义类并在类外定义类中函数:
class CDice
{
public:
int RollDice();
void explain();
void start();
private:
int a,b,c;
};
int CDice::RollDice()
{
a=rand()%6+1;
b=rand()%6+1;
c=a+b;
return c;
}
void CDice::explain()
{
cout在第一次投骰子时,如果所得到的和为7或11,那么游戏者为赢得胜利;endl;
cout如果所得到的和为2或3或12,那么游戏者为输掉游戏;endl;
cout如果所得到的和为4或5或6或8或9或10,那么此和为游戏者的点数,endl;
cout如果游戏者想要获得胜利,必须继续投掷骰子,直到取得自己的数字为止endl;
cout如果投掷出的和为7,那么游戏者为输掉游戏.endl;
}
void CDice::start()
{
cout----------------------------掷骰子游戏-----------------------------endl;
cout1.开始游戏.endl;
cout2.游戏说明.endl;
cout3.退出游戏.endl;
cout请输入您的选择:endl;
}
3.构建main函数,并构建循环:
int main(void)
{
int m,n,i;
int p=0;
CDice Dice;
Dice.start();
do
{
cinp;
您可能关注的文档
- 2017年第一轮物理复习-11功和机械能.doc
- 2017生物一轮对点训练14-1基因突变aWord版含解析.doc
- 2017版高考政治人教版第5单元公民的政治生活第十三课我国公民的政治参与.doc
- 2017生物一轮对点训练26-2微生物的应用bWord版含解析.doc
- 20t行车拆除转运施工方案.docx
- 21-SHNG-31S001上海同大员工手册.doc
- 2017红对勾单元质量评估二.doc
- 231246北交《计算机网络》在线作业一15秋答案.doc
- 2018新步步高浙江学业水平考试政治仿真模拟试卷三.docx
- 231636北交《铁路隧道》在线作业115秋答案.doc
- 5.3.1函数的单调性(教学课件)--高中数学人教A版(2019)选择性必修第二册.pptx
- 部编版道德与法治2024三年级上册 《科技提升国力》PPT课件.pptx
- 2.7.2 抛物线的几何性质(教学课件)-高中数学人教B版(2019)选择性必修第一册.pptx
- 人教部编统编版小学六年级上册道德与法治9 知法守法 依法维权(第一课时)课件.pptx
- 三年级上册品德道德与法治《学习伴我成长》.pptx
- 部编版小学道德与法治六年级上册6 人大代表为人民 课件.pptx
- 部编版小学道德与法治六年级上册1感受生活中的法律第一课时课件.pptx
- 2.5.2圆与圆的位置关系(教学课件)-高中数学人教A版(2019)选择性必修第一册.pptx
- 2.5.1直线与圆的位置关系-(教学课件)--高中数学人教A版(2019)选择性必修第一册.pptx
- 14.1.1 同底数幂的乘法(教学课件)-初中数学人教版八年级上册.pptx
文档评论(0)