Это всего лишь простая программа крестики-нолики, и в настоящее время я не могу автоматически переключаться между пользователями, потому что у меня возникают проблемы с пониманием, где разместить цикл 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;
}