使用c++ 编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1、2、3、4、5、6个点,投两枚骰子之后,计算点数之和。如果第一次投的点数和为7或11,则游戏者获胜;如果第一次投的点数和为2、3或12,则游戏者输;如果第一次投的点数和为4、5、6、8、9或10,则将这个和作为游戏者获胜需要掷出的点数,继续投骰子,直到赚到该点数时算是游戏者获胜。如果投掷7次仍未赚到该点数,则游戏者输。
时间: 2023-07-10 22:03:12 浏览: 115
下面是用 C++ 实现的掷骰子游戏程序:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
// 初始化随机数种子
srand(time(NULL));
// 投掷第一次骰子
int dice1 = rand() % 6 + 1;
// 投掷第二次骰子
int dice2 = rand() % 6 + 1;
// 计算点数和
int sum = dice1 + dice2;
// 判断第一次是否获胜
if (sum == 7 || sum == 11)
{
cout << "You win!" << endl;
}
else if (sum == 2 || sum == 3 || sum == 12)
{
cout << "You lose!" << endl;
}
else
{
// 需要投掷的点数
int point = sum;
cout << "Your point is " << point << endl;
int count = 0;
while (true)
{
// 投掷骰子
dice1 = rand() % 6 + 1;
dice2 = rand() % 6 + 1;
sum = dice1 + dice2;
count++;
// 判断是否获胜
if (sum == point)
{
cout << "You win after " << count << " rolls!" << endl;
break;
}
else if (sum == 7)
{
cout << "You lose!" << endl;
break;
}
// 继续投掷骰子
cout << "Roll again!" << endl;
}
}
return 0;
}
```
该程序首先使用 `srand` 函数初始化随机数种子,然后使用 `rand` 函数模拟投掷骰子的过程,计算点数和。根据游戏规则,判断第一次是否获胜。如果需要继续投掷骰子,记录需要掷出的点数,并使用循环进行多次投掷,直到获胜或失败。
阅读全文