Chcę zakodować grę planszową o nazwie Okey i najbardziej popularną w Turcji. http://en.wikipedia.org/wiki/Okey
Ale mam problemy z AI.
Firslty pozwól mi wyjaśnić grę ..
W grze bierze udział 4 graczy.
W tej grze jest 106 płytek, 2 z nich to fałszywy żart. Pozostałe 104 płytki są podzielone na 4 kolory, ogólnie zielony, czarny, niebieski i czerwony. Wszystkie kolory mają dwa zestawy płytek. Zestaw ise zawiera 13 kafelków ponumerowanych kolejno od 1 do 13.
Każdy gracz rozpoczyna 14 kafelków (jeden to 15 i zaczyna się pierwszy) i rzuca jeden z najbardziej niechcianych kafelków następnego gracza. Następny gracz może zdobyć ten kafelek lub inny kafel ze stosu na środku stołu. Gra odbywa się w kierunku przeciwnym do ruchu wskazówek zegara ..
Celem tej gry jest jak najszybsze znalezienie prawidłowej sekwencji 14 płytek. Gracz może wyrównywać kafelki według kolejnych numerów w tym samym kolorze do 13. Na przykład zielony 1, zielony 2, zielony 3. Istnieje wyjątek, 1 można zastosować do 13. Na przykład czerwony 12, czerwony 13 i czerwony 1 to prawidłowy zestaw. Ale czerwone 13, czerwone 1 i czerwone 2 są nieprawidłowe.
Lub gracz może wyrównać płytki według kolorów w tym samym numerze. Na przykład zielony 1, czarny 1, czerwony 1, niebieski 1.
Każdy zestaw musi składać się z 3 lub więcej kafelków, aby był prawidłowy, a każdy z tych zestawów ma nazwę „Per”. Mniej niż 3 płytki nie są ważne dla wykończenia. Prawidłowy zestaw końcowy może być taki. G: zielony, B: niebieski, R: czerwony, BL: czarny G1 | G2 | G3 B2 | R2 | BL2 R9 | R10 | R11 | R12 BL13 | R13 | G13
Ostatnia rzecz, kiedy zaczynasz grę, wybierz kafelek określający jokera (okej). Na przykład, jeśli wybierzesz Niebieski 3; Niebieski 4 będzie jokerem (okej), a gracz może użyć tego kafelka zamiast dowolnego kafelka, którego gracz potrzebuje do wygrania lub ukończenia zestawu (za).
Oczywiście zasady te są zasadami ogólnymi i streszczonymi w celu wyjaśnienia pytania. Jeśli potrafisz czytać po angielsku, możesz sprawdzić ten link, aby uzyskać więcej informacji http://tr.wikipedia.org/wiki/Okey lub przetłumaczoną stronę Google Translate http://translate.google.com/translate?js=n&prev=_t&hl= en & ie = UTF-8 & layout = 2 & eotf = 1 & sl = tr & tl = en & u = http: //tr.wikipedia.org/wiki/Okey
Więc jakiego algorytmu AI mogę użyć? Szukałem teorii minimax i przycinania alfa beta. Teorie te dotyczą jednak ogólnie gry w dwóch graczy, takich jak szachy lub kółko i krzyżyk.
Oryginalne pytanie jest na stackoverflow: /programming/4419628/creating-a-board-game-ai
źródło
Odpowiedzi:
Jeśli zamienisz kafelki na karty, opis gry brzmi niesamowicie podobnie do gry karcianej Gin Rummy. Możesz znaleźć jakieś bezpośrednie zasoby AI, wyszukując w tym celu.
Jedna opcja dla AI, która jest niezależna od liczby graczy i może być używana do tworzenia różnych osobowości AI:
Następnie możesz kontrolować poziom trudności, nie zawsze wybierając najwyżej ocenianą opcję. Ponieważ niższy wynik, tym gorsza decyzja.
źródło