C语言写老鹰捉小鸡代码
时间: 2024-12-22 20:28:41 浏览: 13
C语言编写老鹰捉小鸡的游戏代码通常涉及几个关键部分:角色定义、游戏循环、玩家输入处理以及游戏规则的实现。这是一个简化的示例,使用基本控制结构和字符数组表示角色:
```c
#include <stdio.h>
#include <stdlib.h>
#define NUM_PLAYERS 5 // 小鸡数量
typedef struct {
char name[20];
int isEagle; // 1 代表老鹰,0 代表小鸡
} ChickenOrEagle;
void displayMenu() {
printf("选择角色:\n");
for (int i = 0; i < NUM_PLAYERS; i++) {
if (i == 0) {
printf("1. 老鹰 (%s)\n", ChickenOrEagle{i, 1}.name);
} else {
printf("%d. 小鸡 (%s)\n", i+1, ChickenOrEagle{i, 0}.name);
}
}
}
int main() {
ChickenOrEagle players[NUM_PLAYERS];
// 初始化角色名
for (int i = 0; i < NUM_PLAYERS; i++) {
players[i].name = "Player" + (char)(i + 'A');
players[i].isEagle = i == 0 ? 1 : 0;
}
while (1) { // 游戏循环
displayMenu();
int choice = -1;
scanf("%d", &choice);
if (choice >= 1 && choice <= NUM_PLAYERS) {
players[choice - 1].isEagle = choice == 1 ? 1 : 0;
printf("你选择了 %s\n", players[choice - 1].name);
} else {
printf("无效的选择,请重新输入。\n");
}
// 这里可以添加更复杂的游戏逻辑,比如老鹰抓小鸡的具体移动和交互
// ...
// 游戏结束条件(例如,所有的小鸡都被抓住)
if (areAllChickenCaught(players)) {
printf("游戏结束,所有的小鸡被抓到了!\n");
break;
}
}
return 0;
}
// 检查所有小鸡是否被捕获
int areAllChickenCaught(ChickenOrEagle players[]) {
for (int i = 1; i < NUM_PLAYERS; i++) {
if (!players[i].isEagle) {
return 0; // 至少有一个小鸡未被抓住
}
}
return 1;
}
```
阅读全文