C语言实现的猜拳游戏代码分享
1. 概述
本文将介绍C语言实现的猜拳游戏的代码分享,该游戏采用了简单的命令行交互界面,玩家与计算机进行猜拳游戏。
2. 猜拳游戏规则
猜拳游戏的规则非常简单,玩家和计算机各出一招,谁胜利就由出招的手势确定。具体规则如下:
- 石头胜剪刀
- 剪刀胜布
- 布胜石头
3. 代码实现
下面是C语言实现的猜拳游戏的代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int player_choice, computer_choice;
int player_win_count = 0, computer_win_count = 0;
int round_count = 0;
srand((unsigned)time(NULL));
while (1) {
printf("请输入出拳的数字(1 - 石头,2 - 剪刀,3 - 布): \n");
scanf("%d", &player_choice);
if (player_choice == -1) {
break;
}
computer_choice = rand() % 3 + 1;
if (player_choice == computer_choice) {
printf("平局!\n");
} else if (player_choice == 1 && computer_choice == 2 ||
player_choice == 2 && computer_choice == 3 ||
player_choice == 3 && computer_choice == 1) {
printf("你赢了!\n");
player_win_count++;
} else {
printf("计算机赢了!\n");
computer_win_count++;
}
round_count++;
}
printf("游戏结束!\n");
printf("你赢了%d局,计算机赢了%d局,平局%d局\n", player_win_count, computer_win_count, round_count - player_win_count - computer_win_count);
return 0;
}
代码实现过程比较简单,主要分为三个部分:
3.1 设置变量和随机数种子
定义了一些变量,包括玩家出的招,电脑出的招,玩家胜利的场数,电脑胜利的场数和比赛的轮数。同时,通过使用 srand
函数生成一个随机数种子,用于生成电脑出招的随机数字。
int player_choice, computer_choice; // 玩家和计算机选择的招
int player_win_count = 0, computer_win_count = 0; // 玩家胜利场数和计算机胜利场数
int round_count = 0; // 比赛的轮数
srand((unsigned)time(NULL)); // 初始化随机数种子
3.2 进行猜拳游戏
通过一个 while
循环来进行猜拳游戏,每进行一轮游戏,就会跳出询问玩家出招,同时生成电脑出招的随机数。接着会计算比赛结果,并累计场数。
while (1) {
printf("请输入出拳的数字(1 - 石头,2 - 剪刀,3 - 布): \n");
scanf("%d", &player_choice);
if (player_choice == -1) {
break;
}
computer_choice = rand() % 3 + 1;
if (player_choice == computer_choice) {
printf("平局!\n");
} else if (player_choice == 1 && computer_choice == 2 ||
player_choice == 2 && computer_choice == 3 ||
player_choice == 3 && computer_choice == 1) {
printf("你赢了!\n");
player_win_count++;
} else {
printf("计算机赢了!\n");
computer_win_count++;
}
round_count++;
}
在这个例子中,当玩家输入 -1
时,游戏循环会被打破,整个游戏结束,并输出比赛结果。
3.3 输出比赛结果
当游戏结束时,通过 printf
函数输出比赛结果。
printf("游戏结束!\n");
printf("你赢了%d局,计算机赢了%d局,平局%d局\n", player_win_count, computer_win_count, round_count - player_win_count - computer_win_count);
4. 示例说明
下面提供两个对这个猜拳游戏代码的示例说明。
4.1 示例1
当玩家依次输入 1
、2
、3
、1
、2
、1
时,可得到如下的输出结果:
请输入出拳的数字(1 - 石头,2 - 剪刀,3 - 布):
1
你赢了!
请输入出拳的数字(1 - 石头,2 - 剪刀,3 - 布):
2
你赢了!
请输入出拳的数字(1 - 石头,2 - 剪刀,3 - 布):
3
计算机赢了!
请输入出拳的数字(1 - 石头,2 - 剪刀,3 - 布):
1
你赢了!
请输入出拳的数字(1 - 石头,2 - 剪刀,3 - 布):
2
你赢了!
请输入出拳的数字(1 - 石头,2 - 剪刀,3 - 布):
1
你赢了!
请输入出拳的数字(1 - 石头,2 - 剪刀,3 - 布):
-1
游戏结束!
你赢了4局,计算机赢了1局,平局1局
4.2 示例2
当玩家输入 -1
时,游戏会立即结束
请输入出拳的数字(1 - 石头,2 - 剪刀,3 - 布):
-1
游戏结束!
你赢了0局,计算机赢了0局,平局0局
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现的猜拳游戏代码分享 - Python技术站