c语言小游戏石头剪刀布
时间: 2025-02-02 10:13:15 浏览: 35
### C语言实现石头剪刀布游戏
为了创建一个简单的“石头剪刀布”游戏,在C语言中可以通过定义手势数组并利用随机数生成器让计算机做出选择。下面是一个基本的游戏框架,其中包含了玩家输入以及与计算机对手比较逻辑。
#### 定义手势选项
首先声明一个二维字符数组用于存储三种可能的手势名称:
```c
#include <stdio.h>
#include <stdlib.h> /* For rand() and srand() */
#include <time.h> /* For time() */
int main(void){
char gesture[3][10] = {"scissor", "stone", "cloth"};
```
这段代码初始化了一个名为`gesture`的数组,用来保存游戏中可能出现的动作[^1]。
#### 让计算机随机选取动作
为了让程序能够自动选择一种手势作为计算机的选择,可以使用标准库中的`rand()`函数配合`srand(time(NULL))`设置种子来获取伪随机序列:
```c
int computerChoice;
srand((unsigned)time(NULL)); // 初始化随机数发生器
computerChoice = rand() % 3; // 随机选出索引值 (0, 1 或者 2)
```
这里通过取模运算使得产生的随机整数值范围限定在0到2之间,对应于上述定义好的三个手势之一[^3]。
#### 获取用户输入并与之对比胜负关系
接下来的部分负责接收用户的键盘输入,并将其转换成相应的数字表示形式以便后续处理;之后再根据双方所选的不同情况决定谁胜谁负:
```c
int playerChoice;
printf("Please enter your choice:\n");
printf("(0) scissor\n(1) stone\n(2) cloth\n");
scanf("%d", &playerChoice);
if ((playerChoice == 0 && computerChoice == 2) ||
(playerChoice == 1 && computerChoice == 0) ||
(playerChoice == 2 && computerChoice == 1)){
printf("You win!\n");
}else if(playerChoice == computerChoice){
printf("It's a tie.\n");
}else{
printf("Computer wins.\n");
}
}
```
此部分实现了完整的交互流程——提示用户输入、读入数据、执行胜利条件判断并给出相应反馈。
阅读全文
相关推荐

















