Тук ще намерите няколко текста на програми, които представят различни етапи на реализация на логическата игра дама (известна още с имената корам и докруджум).
Кратко описание на правилата на играта има в Wikipedia: на български , на английски .
Картинка на игралната дъска
Програмата работи в текстова конзола и полетата на дъската се обозначават подобно на шахматната дъска, размера на дъската за дама е 7x7.
Можете да заредите следните програми:
Тази версия позволява игра на двама играчи, програмирани са само правилата на играта и местенето на ход.
В тази версия е програмирано просто обхождане на дървото на възможните ходове в дълбочина. Приближената оценка се прави с много проста оценяваща функция. Може да се играе играч срещу компютър.
Описание на тази алгоритмична техника в Wikipedia
В тази версия е реализирано alfa-beta отсичане при обхождане на дървото на ходовете, което намалява броя оценявани позиции и позволява увеличаване на дълбочината на обхождане.
Описание на тази алгоритмична техника в Wikipedia
В тази версия оц. функция отчита каква част от дъската е достъпна за пуловете на играчите. В следващите версии се отчита и каква част от пуловете на играчите са блокирани (запушени).
Тази версия може да изиграва 25 игри сама срещу себе си, като пробва 5 различни варианти на един параметър от оценящата функция съответно за първия и втория играч. Така може по-лесно да се изберат тегловите коефиценти (параметри) в оценящата функция.
За да разпознава симетрични позиции и да икономисва изчисления за изследването им, програмата конструира и използва групата на симетриите (автоморфизмите) на графа на играта дама. В тази версия се генерира групата на симетриите и се ползва за намаляване на изчисленията в дебютната фаза на играта.
Това е текущата версия на играта. В нея има някои подобрения на оценяващата функция.
Забележка: при компилация с Turbo Pascal увеличете максимално стека (примерно на 60K), иначе се препълва от алгоритъма за обхождане на дървото на ходовете.
Тази програма е демонстрация към курса "Програмиране на класически игри" за лятната школа във Варна за ученици по информатика, сезон 2010 (от 18 до 31 юли, 2010 год.).
Кратко описание на лекциите от курса може да намерите тук.
Играта е изследвана и решена през 1993 г. от Ралф Гезер, описанието на решението е дадено през 1996г. в следната публикация. Това е първото пълно математическо изследване на нетривиална логическа игра.
(c) Г. Георгиев (Скелета), съгласно разрешението GNU Free Documentation License
Електронни адреси за контакти: на работа и у дома