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 :

    1. 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
    1. wenn Spieler anfängt
    • obige Taktik verhindern (in benachtbartes Eckfeld nen Stein setzen)
    • ...
    1. 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/Senkrecht

    Beispiel:

    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


Anmelden zum Antworten