石头剪刀布游戏c语言代码五局三胜
时间: 2023-08-26 09:07:13 浏览: 223
下面是一个简单的石头剪刀布游戏C语言代码,可以进行五局三胜的比赛:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int i, j, k, player, computer, win, lose, draw;
char *gesture[3] = {"石头", "剪刀", "布"};
srand(time(NULL)); // 设置随机种子
win = lose = draw = 0; // 初始化胜利、失败、平局次数为0
for (i = 0; i < 5; i++) { // 进行五局比赛
printf("第%d局比赛:\n", i+1);
printf("请选择石头(0)、剪刀(1)或布(2):");
scanf("%d", &player); // 玩家选择手势
computer = rand() % 3; // 电脑随机选择手势
printf("玩家出了%s,电脑出了%s。\n", gesture[player], gesture[computer]);
if (player == computer) { // 平局
printf("本局平局!\n");
draw++;
} else if ((player - computer + 3) % 3 == 1) { // 玩家胜利
printf("恭喜你,本局胜利!\n");
win++;
} else { // 电脑胜利
printf("很遗憾,本局失败!\n");
lose++;
}
if (win >= 3 || lose >= 3) { // 已经有一方胜利三局,比赛结束
break;
}
}
if (win > lose) { // 玩家胜利
printf("恭喜你,你赢得了比赛!\n");
} else if (win < lose) { // 电脑胜利
printf("很遗憾,你输了比赛!\n");
} else { // 平局
printf("比赛结束,双方打成平局!\n");
}
printf("比赛结果:胜利%d局,失败%d局,平局%d局。\n", win, lose, draw);
return 0;
}
```
代码中使用了一个指针数组 `gesture`,用来存储三种手势的名称。`srand()` 函数用来设置随机种子,每次运行程序时都会产生不同的随机数。`rand() % 3` 可以得到一个 0~2 的随机数,对应石头、剪刀、布三种手势。`if ((player - computer + 3) % 3 == 1)` 这个表达式用来判断玩家胜利的情况,可以根据手势之间的关系得出。
程序中使用了一个循环来进行五局比赛,如果有一方胜利三局,就会跳出循环。最后根据胜利、失败、平局次数来输出比赛结果。
阅读全文