Нужна помощь в цикле программы C (Tic Tac Toe) - PullRequest
0 голосов
/ 11 декабря 2018

Это всего лишь простая программа крестики-нолики, и в настоящее время я не могу автоматически переключаться между пользователями, потому что у меня возникают проблемы с пониманием, где разместить цикл for

, игрок и знак находятся в функции selectLocation ()..

void checkForWin(int);
char board[3][3] = {'1', '2', '3', '4', '5', '6', '7', '8', '9'};
int setTurn(int, char [][3], int, char);
int selectLocation(char [][3], int *, char*);
void displayBoard();
int main(void)
{
    int choice;
    int player;
    int x;
    int winner=0;
    int round=0;
    char sign;

    do{
    for(x = 0; x<9; ++x){
    choice = selectLocation(board, &player, &sign);
    winner = setTurn(choice, board, player, sign);
}
    checkForWin(winner);
    printf("Press 1 if you would like to play another round: ");
    scanf("%d", &round);
    }while(round == 1);

    return 0;
}

void displayBoard(){

    printf("\n TIC TAC TOE GAME");
    printf("\nPlayer 1: X  Player 2: O");
    printf("\n %c\t%c\t%c\n %c\t%c\t%c\n %c\t%c\t%c\n",
         board[0][0], board[0][1], board[0][2],
         board[1][0], board[1][1], board[1][2],
         board[2][0], board[2][1], board[2][2]);
}


int selectLocation(char board[3][3], int *playerP, char *signP){
    int x=0;
    char sign;
    int player=0;
    int choice=0;

Игрок 1 (x) - единственный, кто играл здесь, и я тоже попытался за цикл, но это не изменило результат

        if (x % 2 == 0){
        player = 1;   
        sign = 'x';
        }else{
        player = 2;
        sign = 'o';
        }

        displayBoard();

        printf("\nPlayer %d Turn, "
                "Enter %c where you would like: ", player, sign);
        scanf("%d", &choice);


        *playerP = player;
        *signP = sign;

    return choice;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...