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!=1&&p!=2&&p!=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!=m&&n!=7;i++)
{
cout<
n=Dice.RollDice();
}
if (n==m)
{
cout<
cout<
}
else
{
cout<
cout<
}
四、实现步骤
1.建立头文件并定义所用到的字符常量:
#include
#include
#include
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<
cout<
cout<
cout<
cout<
}
void CDice::start()
{
cout<
cout<
cout<
cout<
co