Если я правильно вас понимаю, вы в настоящее время пытаетесь «исправить» последнее утверждение else. Исправление означает: вы хотите, чтобы компьютерный игрок изменил значение на «board [randomX][randomY]
».
В настоящее время вы делаете три вещи:
- Инициализируйте генератор случайных чисел.
- Получите 2 случайных индекса в качестве местоположения.
- Сравните эту позицию с
'o'
. (==
делает это сравнение. Это не меняет значение.)
Что вы, вероятно, хотите сделать:
- Инициализируйте это один раз, очень высоко,И на самом деле не с константой, поскольку компьютер всегда будет воспроизводить одни и те же числа, в противном случае.
- Установите для своей случайной позиции значение
'o'
.
Используйте взамен [randomX][randomY] = 'o';
из [randomX][randomY] == 'o';
Также вам, вероятно, следует проверить, имеет ли позиция значение. В противном случае вы просто переопределите все, что было в нем до этого.
И после этого вам нужно проверить, победил ли Компьютер.
Ох. И ваш return 0;
находится в цикле while. Вероятно, он должен быть снаружи.
Наконец: посмотрите на комментарии под своим постом. Там есть несколько хороших / интересных предложений. Например, вы можете использовать одно случайное число от 0 до 8 вместо двух: 0-2.
Особенно предложение о форматировании: вместо форматирования рассмотрите возможность использования:
if (board[1][0] == 'x')
playing = false;
else
board[1][0] = 'o';
Будьте последовательны иТакже сделайте отступ в своем коде.
Надеюсь, это поможет. Приветствия.