TicTacToe- wie die KI realisieren
-
Hallo!
Ich möchte aus langweile ein TicTacToeklon (ihr wisst schon, das kreuz kreis spiel, wo man 3 in einer reihe haben muss) schreiben.
Ich habe mir gedacht es gibt 3 Schwierigkeitsstufen, leicht mittel schwer.
Jetzt stellt sich die frage wie der computer vorgehen soll,bei leicht dachte ich mir das er nur per randomize setzt, bei mittel 1/3 chance das er noch evt. einen Fehler macht ( per randomize) und bei schwer soll er fehlerfrei sein.
Soweit so gut, aber wie könnte der computer bei schwer vorgehen, gibt es spezielle tictactoe taktiken
Wie würdet ihr das machen?
-
Taktiken :
- wenn KI anfängt
- Immer in einen der Ecken starten
- Dann auf der gegenüberliegenden Ecke nen Stein pflanzen
- Dann in eine der anderen Ecken einen Stein setzen : matt
- wenn Spieler anfängt
- obige Taktik verhindern (in benachtbartes Eckfeld nen Stein setzen)
- ...
- im Spiel
- Wenn KI zwei Steine in einer Reihe hat, den 3ten auch setzen (wenn möglich)
So würde ich es machen, jetzt musst du dich nur noch darum kümmern wie man es umsetzt
-
Die KI müsste eigentlich nur die Reihen durchgehen und feststellen welche Möglichkeiten eine Reihe zu bekommen offen sind. Bei den leichteren Stufen könnte man absichtliche Fehler zufällig auftreten lassen.
Als erster Zug ist immer die Mitte am Sinnvollsten: Dort stehen der KI bereits 4 Lösungen zur Auswahl: Diagonal Links/Rechts und Waagerecht/SenkrechtBeispiel:
C = Computer S = Spieler Zug 1 (C) . . . . C . . . . Zug 2 (S) S . . . C . . . . // Die KI stellt jetzt fest das sie Diagonal Links vergessen kann // und wählt zufällig eine Alternative Zug3 (C) S . . . C C . . . // Der Spieler will den Zug der KI verhinden Zug4 (S) S . . S C C . . . // jetzt muss die KI wieder umplanen und vor allem darauf achten, das der // Spieler seine Reihe nicht beenden kann Zug5 (C) S . . S C C C . . // Die Reihe des Spieler ist geblockt und die KI kann Diagonal/rechts gewinnen
-
Schlagt mich, aber das Thema hatten wir schon, und sogar mit zweimal Code für die Lösung. Oder etwa nich?
Bye, TGGC