Я создаю игру TicTacToe, используя командную строку в Xcode. У меня все работает нормально, но я не могу понять, как избежать того, чтобы игрок взял место у других игроков. Поэтому, если игрок выбирает место [1] [1], если любой игрок входит в точку [1] [1] на протяжении всей игры, они получат «Недопустимый вход, попробуйте еще раз», и им придется выбирать другое место. Какие-либо предложения?Проверка платы TicTacToe
- (void) getChoice1
{
do
{
if (player == 1 && winner == 0 && turns < 9)
{
do {
//player 1's input
NSLog(@"Player 1, please choose a cell.");
NSLog(@"Enter row number(1, 2, or 3).");
scanf("%ld", &row);
} while ((row != 1 && row != 2 && row != 3));
do{
NSLog(@"Enter column number(1, 2, or 3).");
scanf("%ld", &column);
} while ((column != 1 && column != 2 && column != 3));
//decrement players input -1
row--;
column--;
//ensure spot is unselected
if (arr[row][column] == 1 || arr[row][column] == 2) {
NSLog(@"Invalid entry, try another spot");
[self getChoice1];
}
else
{
//add input to board
arr [row][column] = 1;
//display updated board
[self showBoard];
//switch players
player = 2;
//add a turn
turns++;
//check for winner
[self checkWinner];
}
}
} while (turns < 9 && winner == 0);
}
Он упомянул о своей командной игре. – Anil
@samkit, Анил правильный. Это в командной строке. Может быть, я не был ясен. Я создал доску, которую я вызываю, после того, как очередь каждого игрока завершена. В течение каждого хода, если игрок выбирает место, которое уже было выбрано, им нужно сказать, чтобы выбрать другое место. – jsollo2
См. Мое редактирование ...... –