TicTacToe

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

Hi,

eine Verständnisfrage: Ich habe mir ein einfaches Tic Tac Toe-Spiel mit GUI geschrieben, mehr als Fingerübung, denn weil ich es gerade bräuchte.

Ich habe mir jetzt überlegt einen Computer-Gegner zu implementieren. Meine Frage ist jetzt, wie man das professionell machen würde, weil das harte Codieren mit if-elif-else macht angesichts der zahlreichen möglichen Spielzüge m. E. keinen Sinn mehr.

Wie ginge das professionell? Kommt da die Graphentheorie zum Einsatz?

Besten Gruß

pixewakb
BlackJack

@pixewakb: Ganz allgemein könnte man einen Entscheidungsbaum betrachten der alle möglichen Spielverläufe von der aktuellen Ausgangssituation aus betrachtet. Also für jeden möglichen Spielzug den ein Spieler machen kann, alle die der Gegner machen kann usw. in einem Baum abbilden. Und dann kann man sich anschauen welchen Ausgang die ganzen Blätter nehmen. Und dann kann man von den Blättern zurück rechnen bei welchem Zug das Verhältnis Gewinnen/Verlieren am günstigsten ist.

Bei TicTacToe kann man das noch komplett machen, ohne irgendwelche Optimierungen, denn da hätte ein voller Baum von einem leeren Spielfeld ausgehend maximal 362.880 Knoten. Real weniger weil man natürlich nicht in allen Fällen bis zum total gefüllten Spielfeld als letztem Zustand kommt wenn vorher schon eine Gewinnsituation für einen der beiden Spieler eintritt.
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Ich hab dieses Buch gelesen und fand es sehr hilfreich um einen allgemeinen Überblick zum Thema zu bekommen. Und ein passender XKCD-Strip.
Antworten