У Шахах гра може закінчитися після 4 ходів (2 у кожному) з дурнем Мате .
Ваша мета полягає в тому, щоб знайти Матея Дурня Халми : двома гравцями Халми, які мінімізують кількість зіграних витків.
Існує понад 10 56 штатних плат, і я бачив, що коефіцієнт розгалуження перевищує 1000, тому ймовірність, що оптимальне рішення ніхто не знайде. Натомість ви намагаєтесь знайти найкраще рішення, яке можете.
Ви повинні подати список переходів та будь-який код, який ви використовували для їх створення.
Пояснення гри
Халма схожа на китайські шашки, але грає на квадратній дошці 16 * 16.
Спочатку рада виглядає так:
Мета гри полягає в тому, щоб перемістити всі свої шматки на вихідні позиції фігур опонента.
На черзі гравця він / вона може:
Пройдіть поворот
Перемістіть один із його творів до сусіднього порожнього місця. Суміжні простори включають діагоналі.
Візьміть одну з його частин і будь-яку кількість разів виконайте наступні дії: Перестрибніть деталь через сусідній шматок, висадивши його на простір навпроти того, що стрибок перескочив.
Ось приклад для ілюстрації 2-го ходу.
Правила
Надішліть список законних кроків, в результаті яких гра закінчується.
Надішліть будь-який код, який ви використовували для створення списку.
Якщо ви отримаєте кращий результат від чужого коду, опублікуйте результат у коментарі або відредагуйте його повідомлення новими результатами.
Кожен хід повинен бути або None
для проходження повороту, або (x1,y1,x2,y2)
для переміщення шматка, де (x1,y1)
є координати частини, яку потрібно перемістити, і (x2,y2)
є місцем призначення цього фрагмента (для стрибкових рухів, ігноруйте проміжні координати). Координати починаються у (0,0)
верхньому лівому куті. x-координати збільшуються праворуч, y-координати збільшуються вниз. Рухи повинні бути розділені новими рядками.
Ви можете використовувати цей скрипт python для перевірки своїх кроків. Використовуйте python halma_verify.py < file
для перевірки переміщення в file
.
Найкоротший список виграє.