c++编写石头剪刀布游戏并输出
时间: 2024-09-09 07:06:06 浏览: 110
在C++中编写石头、剪刀、布游戏的一个简单版本可以按照以下步骤进行:
```cpp
#include <iostream>
#include <ctime> // 引入时间库用于随机数生成
using namespace std;
enum Choices { ROCK = 0, PAPER, SCISSORS }; // 定义三种选择
// 函数返回计算机的选择
Choices computerChoice() {
srand(time(0)); // 初始化随机数种子
return (ROCK + PAPER + SCISSORS) % 3; // 计算机随机选择
}
// 判断胜负
bool checkWin(Choices player, Choices computer) {
if (player == computer) return false; // 平局
else if ((player == ROCK && computer == SCISSORS) ||
(player == PAPER && computer == ROCK) ||
(player == SCISSORS && computer == PAPER)) return true;
else return false;
}
int main() {
cout << "欢迎来到石头剪刀布游戏!\n";
int playerChoice;
do {
cout << "请输入你的选择(0: 石头, 1: 剪刀, 2: 布):";
cin >> playerChoice;
// 检查输入是否有效
while (playerChoice < 0 || playerChoice > 2) {
cout << "无效输入,请重新选择:";
cin >> playerChoice;
}
Choices computerChoice = computerChoice();
cout << "你选择了:" << (playerChoice == ROCK ? "石头" : playerChoice == PAPER ? "纸" : "布")
<< ", 计算机选择了:" << (computerChoice == ROCK ? "石头" : computerChoice == PAPER ? "纸" : "布") << endl;
if (checkWin(playerChoice, computerChoice))
cout << "恭喜,你赢了!\n";
else if (checkWin(computerChoice, playerChoice))
cout << "很遗憾,电脑赢了!\n";
else
cout << "平局!\n";
} while (true); // 如果玩家想要继续,循环会一直运行
return 0;
}
```
当你运行这个程序,它会提示用户输入他们的选择,并计算出计算机的选择。然后判断结果并给出相应的反馈。
阅读全文