Tic Tac Toe

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
fail
User
Beiträge: 122
Registriert: Freitag 11. Januar 2013, 09:47

Ich wollte anfangen ein Tic Tac Toe zu programmieren und zwar erstmals ohne GUI nur Textausgabe. Ich wollte zuerst nur Mensch gegen Mensch machen und später eine AI hinzufügen.
Wie kann ich mein Programm strukturieren so das ich nicht von vorne anfangen muss wenn ich die AI hinzufügen will?

Danke
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

fail hat geschrieben:Wie kann ich mein Programm strukturieren so das ich nicht von vorne anfangen muss wenn ich die AI hinzufügen will?
Trenne auf jeden Fall Verarbeitungslogik und Ein-/Ausgabe. Schaffe geeignete Schnittstellen.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Auf /mes Hinweise aufsetzend - Idee für eine Schnittstelle von Spieler/AI zu Ausgabe wäre eine Funktion, die den nächsten Zug zurück gibt. Der Zug kann dann wahlweise vom Spieler oder der AI "geholt" werden.
Für Tic Tac Toe kannst Du die AI brute force rechnen lassen (Suchbaum ist sehr klein).
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

jerch hat geschrieben:Für Tic Tac Toe kannst Du die AI brute force rechnen lassen (Suchbaum ist sehr klein).
Siehe dazu auch http://xkcd.com/832/.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Und wenn man Felder mit den Werten 0, 1 und 4 belegt, kann man die Überprüfung auf einen Sieg wunderbar mit ``sum()`` umsetzen :-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten