Ich möchte ein Brettspiel codieren, dessen Name Okey ist und das in der Türkei am beliebtesten ist. http://en.wikipedia.org/wiki/Okey
Aber ich habe einige Probleme mit AI.
Firslty lass mich das Spiel erklären ..
Das Spiel wird von 4 Spielern gespielt.
In diesem Spiel gibt es 106 Plättchen, von denen 2 gefälschte Joker sind. Andere 104 Kacheln sind in 4 Farben unterteilt, im Allgemeinen grün, schwarz, blau und rot. Alle Farben haben zwei Sätze Fliesen. Ein Set ise enthält 13 Kacheln, die fortlaufend von 1 bis 13 nummeriert sind.
Jeder Spieler startet 14 Plättchen (eines ist Start 15 und startet zuerst) und wirft eines der unerwünschtesten Plättchen des nächsten Spielers. Der nächste Spieler kann dieses Plättchen oder ein anderes Plättchen vom Stapel in der Mitte des Tisches bekommen. Das Spiel wurde gegen den Uhrzeigersinn gespielt.
Das Ziel dieses Spiels ist es, so schnell wie möglich die gültige Reihenfolge von 14 Plättchen zu finden. Der Spieler kann Kacheln durch fortlaufende Nummern in derselben Farbe bis 13 ausrichten. Zum Beispiel Grün 1, Grün 2, Grün 3. Hier gibt es eine Ausnahme, 1 kann bis 13 folgen. Zum Beispiel ist Rot 12, Rot 13 und Rot 1 a gültiger Satz. Rot 13, Rot 1 und Rot 2 sind jedoch nicht gültig.
Oder der Spieler kann Kacheln nach Farben in derselben Anzahl ausrichten. Zum Beispiel Grün 1, Schwarz 1, Rot 1, Blau 1.
Jeder Satz muss aus 3 oder mehr Kacheln bestehen, um gültig zu sein, und jeder dieser Sätze muss als "Per" bezeichnet werden. Weniger als 3 Kacheln sind für das Finish nicht gültig. Ein gültiger Zielsatz kann so sein. G: Grün, B: Blau, R: Rot, BL: Schwarz G1 | G2 | G3 B2 | R2 | BL2 R9 | R10 | R11 | R12 BL13 | R13 | G13
Als letztes wird beim Starten des Spiels ein Plättchen ausgewählt, um den Joker (okey) zu bestimmen. Zum Beispiel, wenn Sie Blau 3 auswählen; Blau 4 ist ein Joker (okey) und der Spieler kann dieses Plättchen anstelle jedes Plättchens verwenden, das der Spieler benötigt, um einen Satz zu gewinnen oder zu vervollständigen (pro).
Natürlich sind diese Regeln allgemeine Regeln und werden zusammengefasst, um die Frage zu erklären. Wenn Sie Englisch lesen können, können Sie diesen Link überprüfen, um weitere Informationen zu erhalten: http://tr.wikipedia.org/wiki/Okey oder eine übersetzte Seite von Google Translate http://translate.google.com/translate?js=n&prev=_t&hl= de & ie = UTF-8 & layout = 2 & eotf = 1 & sl = tr & tl = de & u = http: //tr.wikipedia.org/wiki/Okey
Welchen AI-Algorithmus kann ich also verwenden? Ich suchte nach Minimax-Theorie und Alpha-Beta-Schnitt. Aber diese Theorien beziehen sich im Allgemeinen auf 2-Spieler-Spiele wie Schach oder Tic-Tac-Toe.
Die ursprüngliche Frage ist bei stackoverflow: /programming/4419628/creating-a-board-game-ai
quelle
Antworten:
Wenn Sie Kacheln gegen Karten tauschen, klingt die Beschreibung des Spiels dem Kartenspiel Gin Rummy unglaublich ähnlich. Möglicherweise können Sie einige direkte KI-Ressourcen finden, indem Sie danach suchen.
Eine Option für KI, die unabhängig von der Anzahl der Spieler ist und zum Erstellen verschiedener KI-Persönlichkeiten verwendet werden kann:
Sie können dann den Schwierigkeitsgrad steuern, indem Sie nicht immer die Option mit der höchsten Bewertung auswählen. Denn je niedriger die Punktzahl, desto schlechter die Entscheidung.
quelle