Я хочу написать настольную игру под названием «Окей», которая в основном популярна в Турции. http://en.wikipedia.org/wiki/Okey
Но у меня есть некоторые проблемы с ИИ.
Во-первых, позвольте мне объяснить игру ..
В игру играют 4 игрока.
В этой игре 106 плиток, из них 2 фальшивых джокера. Другие 104 плитки разделены на 4 цвета, как правило, зеленый, черный, синий и красный. Все цвета имеют два набора плиток. Набор содержит 13 плиток, которые пронумерованы последовательно от 1 до 13.
Каждый игрок запускает 14 тайлов (один старт 15 и начинается первым) и бросает один из самых нежелательных тайлов следующему игроку. Следующий игрок может получить эту плитку или другую плитку из стека в середине стола. Игра ведется против часовой стрелки ..
Цель этой игры - найти правильную последовательность из 14 плиток как можно скорее. Игрок может выровнять плитки по последовательным числам в одном и том же цвете до 13. Например, Зеленый 1, Зеленый 2, Зеленый 3. Здесь есть исключение, 1 может следовать за 13. Например, Красный 12, Красный 13 и Красный 1 - это действительный набор. Но Красный 13, Красный 1 и Красный 2 не действительны.
Или игрок может выровнять плитки по цветам в том же количестве. Например, Зеленый 1, Черный 1, Красный 1, Синий 1.
Каждый набор должен быть 3 или более плиток, чтобы быть действительным, и каждый из этого набора называется «Per». Менее 3 плиток не подходит для финиша. Действительный финишный набор может быть таким. G: зеленый, B: синий, R: красный, BL: черный G1 | G2 | G3 B2 | R2 | BL2 R9 | R10 | R11 | R12 BL13 | R13 | G13
Последнее, что при запуске игры выбирается тайл для определения джокера (окей). Например, если вы выберете Blue 3; Синий 4 будет джокером (окей), и игрок может использовать эту плитку вместо любой плитки, которая нужна игроку, чтобы выиграть или завершить сет (за).
Конечно, эти правила являются общими правилами и обобщены для объяснения вопроса. Если вы можете читать по-английски, вы можете проверить эту ссылку для получения дополнительной информации http://tr.wikipedia.org/wiki/Okey или переведенной страницы с помощью Google Translate http://translate.google.com/translate?js=n&prev=_t&hl= ен и е = UTF-8 & компоновка = 2 & eotf = 1 & сл = тр & TL = еп & и = HTTP: //tr.wikipedia.org/wiki/Okey
Итак, какой алгоритм AI я могу использовать? Я искал минимаксную теорию и альфа-бета-обрезку. Но эти теории, как правило, касаются игры двух игроков, таких как шахматы или крестики-нолики.
Оригинальный вопрос находится в стеке потока: /programming/4419628/creating-a-board-game-ai