在多人游戏中为玩家分配角色

时间:2016-08-18 07:44:32

标签: c input multiplayer

我正在制作一个多人游戏,每个回合都需要提示用户进行移动。每回合我都会提示玩家X'其中X是玩家名称。

我如何实施第二个玩家' O'每转一圈。我目前正在尝试使用player->类型,但每回合都需要帮助更新类型。

struct player {
char type; // 'X' or 'O'
};

while(1){
player->type = 'X';

printf("%c", player->type);
play_game;

}

1 个答案:

答案 0 :(得分:1)

先决条件:

首先,听起来你需要重新使用播放器结构,因为它是一个2人游戏。为此,您可以在文件顶部使用typedef语句。

typedef struct {
    char type;
} player;

这使您可以随时创建玩家......

player p1;
player p2;
// you can say p1.type etc...

然后在游戏运行时,您可以在每个玩家之间切换,然后根据自己的喜好对其进行操作。

示例用法:

#define NUM_PLAYERS 2

/* typedef statement goes here... */

int main(int argc, char *argv[]) {

    player[NUM_PLAYERS] players;
    players[0].type = 'X';
    players[1].type = 'O';

    int currentPlayerIndex = 0;

    while (1) {

         // Make a pointer the player you want
        player* currentPlayer = &(players[currentPlayerIndex]);

        doSomething(currentPlayer);

         // Move to the next player index (will wrap around to 0)
        currentPlayerIndex = (currentPlayerIndex + 1) % NUM_PLAYERS;

    }

    return 0;
}

这样您就不需要为每个新玩家重写逻辑。如果需要,您还可以添加更多玩家。