用C语言编写石头剪刀布猜拳游戏
时间: 2024-12-13 20:26:36 浏览: 9
在C语言中编写石头剪刀布猜拳游戏通常会涉及基本的控制结构、输入处理和简单的循环。以下是一个简单的示例程序,它会提示玩家选择石头、剪刀或布,并与计算机随机生成的选择进行比较:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 引入时间库以获取随机数
// 定义石头、剪刀和布的常量
#define ROCK 0
#define SCISSORS 1
#define PAPER 2
int main() {
srand(time(0)); // 设置随机数种子,保证每次运行结果不同
int userChoice; // 用户的选择
int computerChoice; // 计算机的选择
printf("欢迎来到石头剪刀布游戏!请输入你的选择(0-石头,1-剪刀,2-布):\n");
scanf("%d", &userChoice);
// 确保用户输入有效
while (userChoice < 0 || userChoice > 2) {
printf("无效选择!请重新输入(0-石头,1-剪刀,2-布): ");
scanf("%d", &userChoice);
}
// 计算机随机选择
computerChoice = rand() % 3;
// 比较选择并显示结果
switch (computerChoice) {
case ROCK:
if (userChoice == ROCK) {
printf("平局!你出了%s,电脑也出了%s。\n", "石头", "石头");
} else if (userChoice == SCISSORS) {
printf("你赢了!你出了%s,电脑出了%s。\n", "剪刀", "石头");
} else {
printf("你输了!你出了%s,电脑出了%s。\n", "布", "石头");
}
break;
case SCISSORS:
if (userChoice == ROCK) {
printf("你输了!你出了%s,电脑出了%s。\n", "石头", "剪刀");
} else if (userChoice == SCISSORS) {
printf("平局!你出了%s,电脑也出了%s。\n", "剪刀", "剪刀");
} else {
printf("你赢了!你出了%s,电脑出了%s。\n", "布", "剪刀");
}
break;
case PAPER:
if (userChoice == ROCK) {
printf("你赢了!你出了%s,电脑出了%s。\n", "石头", "纸");
} else if (userChoice == SCISSORS) {
printf("你输了!你出了%s,电脑出了%s。\n", "剪刀", "纸");
} else {
printf("平局!你出了%s,电脑也出了%s。\n", "布", "纸");
}
break;
}
return 0;
}
```
阅读全文