c++剪刀石头布 自訂函數
时间: 2023-07-05 20:34:25 浏览: 43
好的,以下是一个使用自定义函数的C++剪刀石头布游戏示例,供您参考:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
// 函数声明
void printMenu();
int getPlayerChoice();
int getComputerChoice();
void printResult(int playerChoice, int computerChoice);
bool isPlayerWin(int playerChoice, int computerChoice);
int main()
{
// 设置随机数种子
srand(time(0));
// 输出菜单
printMenu();
// 获取玩家选择
int playerChoice = getPlayerChoice();
// 获取计算机选择
int computerChoice = getComputerChoice();
// 输出结果
printResult(playerChoice, computerChoice);
return 0;
}
// 函数定义
// 输出菜单
void printMenu()
{
cout << "欢迎来到剪刀石头布游戏!" << endl;
cout << "1. 石头" << endl;
cout << "2. 剪刀" << endl;
cout << "3. 布" << endl;
}
// 获取玩家选择
int getPlayerChoice()
{
int choice;
cout << "请输入您的选择:";
cin >> choice;
while (choice < 1 || choice > 3) {
cout << "无效的选择,请重新输入:";
cin >> choice;
}
return choice;
}
// 获取计算机选择
int getComputerChoice()
{
return rand() % 3 + 1;
}
// 输出结果
void printResult(int playerChoice, int computerChoice)
{
cout << "您的选择是:";
switch (playerChoice) {
case 1:
cout << "石头" << endl;
break;
case 2:
cout << "剪刀" << endl;
break;
case 3:
cout << "布" << endl;
break;
}
cout << "计算机的选择是:";
switch (computerChoice) {
case 1:
cout << "石头" << endl;
break;
case 2:
cout << "剪刀" << endl;
break;
case 3:
cout << "布" << endl;
break;
}
if (playerChoice == computerChoice) {
cout << "平局!" << endl;
} else if (isPlayerWin(playerChoice, computerChoice)) {
cout << "恭喜您获胜!" << endl;
} else {
cout << "很遗憾,您输了!" << endl;
}
}
// 判断玩家是否获胜
bool isPlayerWin(int playerChoice, int computerChoice)
{
if ((playerChoice == 1 && computerChoice == 2) ||
(playerChoice == 2 && computerChoice == 3) ||
(playerChoice == 3 && computerChoice == 1)) {
return true;
} else {
return false;
}
}
```
这个示例中,我们定义了一个 `isPlayerWin()` 函数来判断玩家是否获胜。在 `printResult()` 函数中,我们通过调用 `isPlayerWin()` 函数来判断胜负,而不是使用简单的逻辑判断。这样可以使代码更加清晰、易于维护。
希望这个示例可以帮助您更好地理解如何在C++中使用自定义函数实现剪刀石头布游戏。