用c语言写一个猜拳游戏
时间: 2023-08-31 09:22:26 浏览: 171
C语言猜拳游戏
5星 · 资源好评率100%
### 回答1:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int n,i;
char a[3][10]={"石头","剪刀","布"}; //将石头、剪刀和布分别存储在二维字符数组a中
srand(time(NULL)); //srand()函数设置随机数种子
for(i=1;i<=3;i++) //循环3次让玩家猜拳
{
printf("请猜拳(1. 石头 2. 剪刀 3. 布):");
scanf("%d",&n);
if(n<1 || n>3) //输入不合法判断
{
printf("您输入的数字不合法,请重新输入!\n");
i--; //重新输入
continue;
}
printf("您出了%s, 电脑出了%s, ",a[n-1],a[rand()%3]);
if(n==1 && rand()%3==1 || n==2 && rand()%3==2 || n==3 && rand()%3==0)
printf("平局!\n");
else if(n==1 && rand()%3==2 || n==2 && rand()%3==0 || n==3 && rand()%3==1)
printf("您赢了!\n");
else
printf("您输了!\n");
}
return 0;
}
### 回答2:
下面是一个用C语言写的简单猜拳游戏示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int playerChoice, computerChoice;
printf("猜拳游戏\n");
printf("请输入数字选择:\n");
printf("1. 石头\n");
printf("2. 剪刀\n");
printf("3. 布\n");
// 获取玩家选择
printf("你的选择:");
scanf("%d", &playerChoice);
// 随机生成电脑选择
srand(time(NULL));
computerChoice = rand() % 3 + 1;
// 打印玩家和电脑选择
printf("玩家选择:%d\n", playerChoice);
printf("电脑选择:%d\n", computerChoice);
// 判断胜负
if (playerChoice == computerChoice) {
printf("平局!\n");
} else if ((playerChoice == 1 && computerChoice == 2) ||
(playerChoice == 2 && computerChoice == 3) ||
(playerChoice == 3 && computerChoice == 1)) {
printf("玩家胜利!\n");
} else {
printf("电脑胜利!\n");
}
return 0;
}
```
这个程序首先会让玩家输入数字选择石头、剪刀或布,然后通过随机数生成电脑的选择。然后程序比较玩家和电脑的选择,根据规则判断胜负,并输出结果。如果玩家和电脑选择相同,则为平局;如果玩家选择石头,电脑选择剪刀,或者玩家选择剪刀,电脑选择布,或者玩家选择布,电脑选择石头,则玩家胜利;否则电脑胜利。
### 回答3:
猜拳游戏是一个非常简单且有趣的游戏。我们可以使用C语言来编写一个猜拳游戏,以下是程序的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int player, computer;
int player_score = 0, computer_score = 0;
int rounds;
printf("欢迎来到猜拳游戏!\n");
printf("请输入游戏回合数: ");
scanf("%d", &rounds);
for (int i = 0; i < rounds; i++) {
printf("\n第 %d 回合\n", i+1);
printf("请玩家选择出拳(1 - 石头,2 - 剪刀,3 - 布): ");
scanf("%d", &player);
srand(time(NULL));
computer = rand() % 3 + 1;
printf("电脑选择: %d\n", computer);
if (player == 1 && computer == 2 || player == 2 && computer == 3 || player == 3 && computer == 1) {
printf("玩家胜利!\n");
player_score++;
}
else if (player == computer) {
printf("平局!\n");
}
else {
printf("电脑胜利!\n");
computer_score++;
}
}
printf("\n======= 游戏结束 =======\n");
printf("玩家得分: %d\n", player_score);
printf("电脑得分: %d\n", computer_score);
if (player_score > computer_score) {
printf("玩家获胜!\n");
}
else if (computer_score > player_score) {
printf("电脑获胜!\n");
}
else {
printf("比赛结果为平局!\n");
}
return 0;
}
```
以上代码实现了一个猜拳游戏,游戏开始时,通过`scanf`函数获取玩家想要进行的回合数。然后,使用一个`for`循环进行每一回合的游戏。
在每一回合中,玩家需要输入出拳的数字(1代表石头,2代表剪刀,3代表布),电脑会随机生成一个数字作为出拳选择。然后程序会判断胜负,并计算玩家和电脑的得分。
最后,程序会统计游戏结束后的得分情况,并输出获胜的一方或平局的结果。
这个简单的猜拳游戏仅供参考,可以根据实际需求对程序进行修改或扩展。
阅读全文