Показать сообщение отдельно
  #1  
Старый 01.05.2014, 15:23
dartsidiuss dartsidiuss вне форума
Прохожий
 
Регистрация: 01.05.2014
Сообщения: 2
Версия Delphi: Delphi XE
Репутация: 10
По умолчанию Охотники и Волк, алгоритм

пишу игрушку на delphi xe, правила таковы: шахматная доска, все игроки ходят по черным клеткам. Охотники стоят на нижней линии, волк стоит наверху. охотники могут двигать только вперед, волк в любом направлении. Цель охотников: запереть волка, цель волка - прорваться сквозь охотников.
Есть две процедуры: одна ходит за волка другая за охотников. Написал алгоритм: когда кому то нужно сходить, она выбирает ход, отсылает другой процедуре, та делает то же самое и так до тех пор пока кто то не проиграет. Потом результат возвращается наверх к первой процедуре и она решает делать этот ход или нет. при полях 4х4 и 6х6 все нормально, а 8х8 из за большой глубины стека очень долго думает, точнее зависает напрочь. Собственно вопрос: как можно оптимизировать игру? Пробовал выставлять ограничение на глубину, если превышает ее - делать рандомный ход. но после этого стало вылетать с множеством сообщений access violation
Ответить с цитированием