飞行棋游戏代码C语言
时间: 2024-03-10 10:42:44 浏览: 23
飞行棋是一种非常经典的棋类游戏,下面是一个简单的飞行棋游戏的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define BOARD_SIZE 30
#define PLAYER_COUNT 4
// 玩家结构体
typedef struct {
int position;
int isFinished;
} Player;
// 初始化玩家
void initPlayers(Player players[]) {
for (int i = 0; i < PLAYER_COUNT; i++) {
players[i].position = 0;
players[i].isFinished = 0;
}
}
// 掷骰子
int rollDice() {
return rand() % 6 + 1;
}
// 移动玩家
void movePlayer(Player* player, int steps) {
player->position += steps;
if (player->position >= BOARD_SIZE) {
player->position = BOARD_SIZE - 1;
player->isFinished = 1;
}
}
// 判断是否有玩家到达终点
int isGameFinished(Player players[]) {
for (int i = 0; i < PLAYER_COUNT; i++) {
if (players[i].isFinished) {
return 1;
}
}
return 0;
}
// 打印玩家位置
void printPlayerPositions(Player players[]) {
for (int i = 0; i < PLAYER_COUNT; i++) {
printf("Player %d: %d\n", i + 1, players[i].position);
}
}
int main() {
srand(time(NULL));
Player players[PLAYER_COUNT];
initPlayers(players);
while (!isGameFinished(players)) {
for (int i = 0; i < PLAYER_COUNT; i++) {
if (!players[i].isFinished) {
int steps = rollDice();
movePlayer(&players[i], steps);
}
}
printPlayerPositions(players);
printf("\n");
}
return 0;
}
```
这段代码实现了一个简单的飞行棋游戏,包括玩家的初始化、骰子的投掷、玩家的移动、判断游戏是否结束以及打印玩家位置等功能。你可以根据需要进行修改和扩展。