使用C语言研发一个人机交互的棒子老虎鸡的游戏!游戏规则是:棒子打老虎,老虎吃鸡,鸡吃虫,虫吃棒子!要求游戏生动形象,每10次给一个输赢统计! 完整的代码
时间: 2023-11-21 22:06:20 浏览: 190
游戏,欢乐五子棋,C#实现完整源代码,界面大气美观,跟电脑对战,电脑反应神速,人机对战,赢一局很难,F1可以重新开始对战
好的,以下是一个完整的使用C语言研发的棒子老虎鸡游戏的代码,包括游戏菜单、游戏规则、游戏逻辑和输赢统计:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 定义棒子老虎鸡的三种状态
#define STONE 1
#define TIGER 2
#define CHICKEN 3
#define WORM 4
// 定义游戏结果的三种状态
#define WIN 1
#define LOSE 2
#define TIE 3
int main() {
int choice;
printf("欢迎来到棒子老虎鸡游戏!\n");
printf("1. 开始游戏\n");
printf("2. 游戏规则\n");
printf("3. 退出游戏\n");
printf("请选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("游戏开始!\n");
int win = 0, lose = 0, tie = 0;
int count = 0;
while (1) {
int player, computer;
printf("请出拳:1.棒子;2.老虎;3.鸡;4.虫:");
scanf("%d", &player);
computer = rand() % 4 + 1;
printf("电脑出拳:%d\n", computer);
int result;
if (player == computer) {
printf("平局!\n");
result = TIE;
tie++;
} else if ((player == STONE && computer == WORM) ||
(player == TIGER && computer == STONE) ||
(player == CHICKEN && computer == WORM) ||
(player == WORM && computer == TIGER)) {
printf("你赢了!\n");
result = WIN;
win++;
} else {
printf("你输了!\n");
result = LOSE;
lose++;
}
count++;
if (count % 10 == 0) {
printf("当前比分:胜%2d 负%2d 平%2d\n", win, lose, tie);
}
if (count % 100 == 0) {
printf("已经玩了%d次,继续玩吗?1.继续;2.退出:", count);
scanf("%d", &choice);
if (choice == 2) {
printf("再见!");
return 0;
}
}
}
break;
case 2:
printf("游戏规则:\n");
printf("棒子打老虎,老虎吃鸡,鸡吃虫,虫吃棒子!\n");
break;
case 3:
printf("再见!");
return 0;
default:
printf("无效选择!\n");
break;
}
return 0;
}
```
代码中使用了宏定义来定义棒子老虎鸡的三种状态和游戏结果的三种状态,使代码更加清晰易懂。同时,使用了随机数来模拟电脑出拳的过程,增加了游戏的趣味性。在输赢统计的部分,使用了条件语句和循环语句来实现每10次输出比分,每100次询问用户是否继续游戏的功能。
希望这个完整的代码对您有所帮助,祝您游戏愉快!
阅读全文