Консольное приложение C # Tic Tac Toe - PullRequest
0 голосов
/ 25 марта 2012

Я создал простую игру Tic Tac Toe на c #, в которую можно играть как в режиме 1 игрока, так и в режиме 2 игрока.

Я запрограммировал компьютер на правильную реакцию (в режиме «компьютер против плеера»), но я думаю, что мой код намного больше, чем должен быть, поскольку я проверял каждую возможную комбинацию вручную и не мог кажется, найти, как минимизировать код.

Вот функция makeComputerMove (): https://gist.github.com/2192374

Объяснение переменных:

char [,] Board: 2D массив, содержит 'X' и 'O'

char char: это форма, которую я использую для определения приоритетного хода, сначала я установил его на «O», чтобы компьютер попытался выиграть. Если он не может победить, он попытается заблокировать. Если нечего блокировать, он попытается установить «O» рядом с другим «O» на доске.

Позиция P: объект, который содержит значения Row и Col.

Спасибо.

РЕДАКТИРОВАТЬ: Теперь я вижу, что люди думают, что я хочу, чтобы вы переписали мой код. Я просто добавил, чтобы вы могли видеть, что я сделал. Я только прошу советы (подходя к проблеме по-другому).

1 Ответ

1 голос
/ 25 марта 2012

Прочтите об MinMax алгоритмах здесь, чтобы получить общее представление. По сути, это отслеживание возможных ходов и каждый возможный ход на все возможные ходы и т. Д. На определенное количество ходов (ai глубина). Это использует рекурсию. Поскольку это TicTacToe, вы можете потерять «глубину» и иметь «конец» в качестве условия остановки.

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