1.现有两人玩猜拳游戏,每人可用拳头表示3种物体(石头、剪刀、布)中的一种,两人同时出拳,游戏胜负规则如下:
(1)石头vs剪刀:石头胜利。
(2)剪刀vs布:剪刀胜利。
(3)布vs石头:石头胜利。
#include <iostream>
#include <ctime> // 用于生成随机数
using namespace std;
int main() {
int win_count[2] = {0, 0}; // 记录两个玩家的胜利次数
// 进行3局比赛
for (int i = 0; i < 3; i++) {
cout << "第" << i + 1 << "局比赛:" << endl;
// 每个玩家出拳一次
for (int j = 0; j < 2; j++) {
int choice;
do {
cout << "请玩家" << j + 1 << "输入拳头(1表示石头,2表示剪刀,3表示布):";
cin >> choice;
} while (choice < 1 || choice > 3); // 输入错误处理
cout << "玩家" << j + 1 << "出了";
switch (choice) {
case 1:
cout << "石头" << endl;
break;
case 2:
cout << "剪刀" << endl;
break;
case 3:
cout << "布" << endl;
break;
}
// 记录玩家出拳情况
if (j == 0) {
choice_num[i] = choice;
} else {
choice_num[i + 3] = choice;
}
}
// 判断本局胜负
if ((choice_num[i] == 1 && choice_num[i + 3] == 2) ||
(choice_num[i] == 2 && choice_num[i + 3] == 3) ||
(choice_num[i] == 3 && choice_num[i + 3] == 1)) {
cout << "玩家1获胜" << endl;
win_count[0]++;
} else if ((choice_num[i + 3] == 1 && choice_num[i] == 2) ||
(choice_num[i + 3] == 2 && choice_num[i] == 3) ||
(choice_num[i + 3] == 3 && choice_num[i] == 1)) {
cout << "玩家2获胜" << endl;
win_count[1]++;
} else {
cout << "本局平局" << endl;
}
}
// 判断比赛结果
if (win_count[0] > win_count[1]) {
cout << "玩家1获得最终胜利" << endl;
} else if (win_count[0] < win_count[1]) {
cout << "玩家2获得最终胜利" << endl;
} else {
cout << "比赛结束,双方打平" << endl;
}
return 0;
}