IPB
ЛогинПароль:

> Крестики нолики
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 131
Пол: Мужской

Репутация: -  0  +


Пришло время курсовика....Необходимо написать игру крестики-нолики на поле размером 19X19 (возможность игры с ПК и с соперником ).Хотел проконсультироваться со знающими людьми, могет кто посоветует какой лучше алгоритм взять за основу, могет имеется какая-нить оценочная функция или что-то вроде того... blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Рекурсивно рассматривай все возможные ходы, отсекая нежелательные для компьютера позиции. Формально, алгоритм вида:

Function getStep(pos:array[0..18] of array[0..18] of byte):integer; //возвращает ячейку, куда нужно походить, резултат хода при лучшем ходе игрока или другую информацию.

Если комп проиграл, то вернуть "Проиграно"
Если комп выиграл, то вернуть "Победа"
Если ничья, то вернуть "Ничья"

Для каждой пустой ячейки делать
поставить крестик в ячейку;
Для каждой пустой ячейки делать
поставить нолик в ячейку;
вызвать GetStep для полученной позиции и запомнить результат;
end;
Если все запомненные значения означают "проигрыш или ничью", то перейти к след. такту;
Ессли все запомненные значения означают "выигрыш", то ход найден.
end;
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 25.04.2024 22:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name