Реализация минимаксного алгоритма на примере игры «Собери 4» — очень увлекательное занятие и в связи с этим возникло желание рассказать об этом хобби кому-нибудь еще, что я и сделал.
Игра доступна по этому адресу адрес .
Игровое поле можно варьировать, задавая константы, я взял 7 на 6 как в примере по ссылке.
Смысл игры заключается в том, чтобы при совершении ходов выстроить 4 свои фигурки (крестики или нолики) в один ряд: по горизонтали, вертикали, диагонали.
Для создания игры (вроде бы любой) нужны две вещи: генератор ходов и анализатор ходов (позиций).
Правила игры таковы, что размещать фигуру можно не в любом месте доски, а только внизу, причем нижним также считается поле, расположенное сверху поля, занятого фигурой (любой) .
Доска была представлена в виде одномерного массива
, сами структуры могут быть такимиTicTac field[NSIZE_I*NSIZE_J];
typedef enum {Tic, Tac, EMPTY} TicTac;
, игра потребует много процедур (условно говоря, конечно), процедуру проверки кода я реализовал вот так
int validstep(const TicTac *field, int step){
Теги: #минимакс #игры #искусственный интеллект #Алгоритмы
-
Вышел Resharper 4.5
19 Oct, 24 -
Itreasure - Тайны Океана На Iphone
19 Oct, 24