Крестики нолики |
Крестики нолики |
Vardes |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: 0 |
Пришло время курсовика....Необходимо написать игру крестики-нолики на поле размером 19X19 (возможность игры с ПК и с соперником ).Хотел проконсультироваться со знающими людьми, могет кто посоветует какой лучше алгоритм взять за основу, могет имеется какая-нить оценочная функция или что-то вроде того...
|
Гость |
Сообщение
#2
|
Гость |
Рекурсивно рассматривай все возможные ходы, отсекая нежелательные для компьютера позиции. Формально, алгоритм вида:
Function getStep(pos:array[0..18] of array[0..18] of byte):integer; //возвращает ячейку, куда нужно походить, резултат хода при лучшем ходе игрока или другую информацию. Если комп проиграл, то вернуть "Проиграно" Если комп выиграл, то вернуть "Победа" Если ничья, то вернуть "Ничья" Для каждой пустой ячейки делать поставить крестик в ячейку; Для каждой пустой ячейки делать поставить нолик в ячейку; вызвать GetStep для полученной позиции и запомнить результат; end; Если все запомненные значения означают "проигрыш или ничью", то перейти к след. такту; Ессли все запомненные значения означают "выигрыш", то ход найден. end; |
Текстовая версия | 25.04.2024 22:43 |