写一个1表示石头2表示剪子3表示布的剪刀石头布游戏
时间: 2024-10-24 10:05:08 浏览: 17
Java实现的剪刀石头布游戏示例
要编写一个简单的剪刀、石头、布(Scissors, Paper, Rock)游戏,你可以创建一个程序,让用户输入他们的选择然后根据预设规则判断胜负。这里有一个基本的C语言示例:
```c
#include <stdio.h>
int main() {
int player_choice, computer_choice;
// 定义玩家和电脑的选择
enum choices { STONE = 0, SCISSORS = 1, PAPER = 2 };
const struct {
int choice;
char name[5];
} choices[] = { { STONE, "Stone" }, { SCISSORS, "Scissors" }, { PAPER, "Paper" } };
printf("Choose:\n");
for (enum choices c : choices) {
printf("%d. %s\n", c.choice + 1, c.name);
}
scanf("%d", &player_choice);
// 随机生成电脑的选择
computer_choice = rand() % 3; // 假设rand()返回0到RAND_MAX之间的整数
printf("Computer chooses: %s\n", choices[computer_choice].name);
// 判断胜负
switch (player_choice) {
case STONE:
if (computer_choice == SCISSORS)
printf("Player wins!\n");
else if (computer_choice == PAPER)
printf("Computer wins!\n");
else
printf("Draw!\n");
break;
case SCISSORS:
if (computer_choice == PAPER)
printf("Player wins!\n");
else if (computer_choice == STONE)
printf("Computer wins!\n");
else
printf("Draw!\n");
break;
case PAPER:
if (computer_choice == STONE)
printf("Player wins!\n");
else if (computer_choice == SCISSORS)
printf("Computer wins!\n");
else
printf("Draw!\n");
break;
default:
printf("Invalid input! Please enter 1, 2, or 3.\n");
return 1;
}
return 0;
}
```
在这个程序中,我们首先定义了玩家和电脑可以选择的选项,然后让用户输入他们的选择,电脑随机选择。接着使用switch语句根据规则判断胜负。
请注意,这个例子中的`rand()`函数假设已经包含了 `<stdlib.h>` 并且初始化了随机数种子。在实际应用中,可能需要使用更安全的方法生成随机数。
阅读全文