为游戏 Rock Paper Scissor 编写 C++ 程序,用中文,要求编写完整的代码
时间: 2024-10-10 15:17:02 浏览: 19
我可以帮助你理解如何用 C++ 编写一个简单的 Rock-Paper-Scissors 游戏。这是一个基本版本,包含了用户输入、随机选择以及结果判断:
```cpp
#include <iostream>
#include <ctime> // 引入时间库用于生成随机数
#include <cstdlib> // 引入cstdlib库用于生成随机数
using namespace std;
enum Choices { ROCK = 0, PAPER, SCISSORS };
// 定义游戏选项对应的字符串
string choices[3] = {"石头", "纸", "剪刀"};
int getRandomChoice() {
srand(time(0)); // 设置随机种子
return rand() % 3; // 随机生成0到2之间的整数,对应ROCK, PAPER, SCISSORS
}
void playGame() {
int userChoice;
cout << "请输入你的选择 (1.石头, 2.纸, 3.剪刀): ";
cin >> userChoice;
if (userChoice < 1 || userChoice > 3) {
cout << "无效的选择,请重新输入!" << endl;
return;
}
int computerChoice = getRandomChoice();
cout << "电脑选择了: " << choices[computerChoice] << endl;
// 判断输赢
switch ((userChoice - 1) * 2 + computerChoice) {
case 0:
cout << "平局!" << endl;
break;
case 1:
cout << "你赢了!石头胜过剪刀。" << endl;
break;
case 2:
cout << "你输了!剪刀胜过布。" << endl;
break;
}
}
int main() {
while (true) {
playGame();
cout << "再来一局吗?请输入y继续(n退出): ";
char response;
cin >> response;
if (response != 'y' && response != 'Y') {
cout << "谢谢参与,再见!" << endl;
break;
}
}
return 0;
}
```