如何与玩家和AI交替移动

时间:2015-11-10 14:06:58

标签: c

我刚做了一个游戏,并在开始时提示用户输入他们想要cpu的颜色。有2种颜色,黑色和白色,如果用户将计算机键入白色,则用户将先移动,否则计算机将首先移动。我试图首先将计算机实现为白色,但我似乎没有太多运气。

if (color == 'W') {
    int player = 0;
    int computer = 0;
    printBoard(boardgame, size);

    player++;
    computer += 2;
    do {
        if ((player + 1) % 2) {
            playerMove(oppositeColor(color), boardgame, size);
            player++;
            numbermoves++;
        }
        if (computer % 2) {
            computerMove(color, boardgame, size);
            computer++;
            numbermoves++;
        }
    } while (numbermoves < size * size);
}

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

计算机移动和玩家移动之间应该没有区别。这只是一种颜色的举动。对于用户,您要求输入[颜色];对于计算机,您计算[颜色]的移动,例如:

int numbermoves = 0;
char playerColor;

printf("What color do you want (W/B)?");
scanf ("%c", &playerColor);
do {
    if ((numbermoves%2)==0) { // white
        if (playerColor=='W')
             askMove ('W', &move);
        else calcMove('W', &move);
        putMove('W', &move);
    }
    else {
        if (playerColor=='B')
             askMove ('B', &move);
        else calcMove('B', &move);
        putMove('B', &move);
    }
    numbermoves++;

} while (numbermoves < size * size);