PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tic Tac Toe


Ph03n!X
2005-11-30, 18:20:42
Hi will ein Tic Tac Toe programmieren , habe das soweit auch geschafft das ein Spieler gegen ein Spieler spielen kann. Jetzt will ich einen Zusatzmodus zuschaffen wo man als Spieler gegen einen PC(KI) spielen kann.
Nur weiss ich nicht wie das geht. Hab schon alles mögliche probiert aber nix funktionierte. Und wollte fragen ob mir da jemand behilflich sein könnte.
Also falls ihr Interesse habt und mir helfen könnt schickt mir ne PN oder eine Email an Speiky17@gmx.net

Thxz im Voraus

DocEW
2005-11-30, 22:57:42
Tic Tac Toe ist so simpel, daß man da einfach einen Spielbaum generieren kann. Also quasi alle Möglichkeiten vorhersehen.
Interessanter ist natürlich, wenn du versuchst, richtig zu "denken", d.h. die augenblickliche Situation zu analysieren oder zumindest Grundregeln festzulegen, die du nicht verletzen willst.

zeckensack
2005-11-30, 23:52:49
Besetze das mittlere Feld, wenn es frei ist. Es gehört zu vier der acht möglichen Siegkombinationen, und ist somit das wichtigste Feld.
Wenn der Gegner eine Zweierreihe gebildet hat, und das Feld das zur Dreierreihe fehlt noch frei ist, besetze dieses.

Bis dahin ist es nicht schwer. Purer Reaktionismus. Wenn keine dieser Pflichten anfällt, kannst du auch einfach ein zufälliges freies Feld besetzen.

(Halbwegs) Anspruchsvoll ist darüberhinaus die Planung der eigenen Dreierreihe, so dass sie gleichzeitig zum Sieg führt und den Sieg des Gegners verhindert.

Spiel einfach ein paar Partieen gegen dich selbst, oder deinen halbfertigen Computergegner (siehe oben), und beobachte welche Feldauswahl besonders erfolgreich ist, bzw über welche Züge des Gegners (auch wenn sie zufällig sind) du dich besonders ärgerst. Diese Züge musst do so weit verstanden haben dass du sie später algorithmisch formulieren kannst.

Trap
2005-12-01, 00:16:14
Die primitivste Variante ist:
Alle Spiele erzeugen, gucken wer am Ende gewonnen hat und dann jedem Zug (gewonnene Spiele nach dem Zug/mögliche Spiele nach dem Zug) als Punktzahl zuzuordnen. Dann beim Spielen immer den mit der höchsten Punktzahl nehmen.

DocEW
2005-12-01, 01:24:30
Und wenn du damit fertig bist, kannst du als nächstes Go versuchen. :D

Monger
2005-12-01, 14:23:22
Eine KI zu entwickeln, ist echt nicht trivial. Ich hab mal eine sehr, SEHR einfache KI in einer Studienarbeit umgesetzt. Sehr fummlige Angelegenheit...

Im Prinzip gibt es drei große Schritte dabei:

- erfassen der Spielsituation
- analysieren der Spielsituation
- Aufgrund eines Bewertungsmaßstabes den derzeit besten Zug herausfinden


Die ersten zwei Schritte sind naturgemäß die schwersten. Tic Tac Toe ist natürlich vergleichsweise simpel. Ein guter Zug ist

a) der möglichst viele gegnerische Dreierkombinationen verhindert
b) möglichst viele eigene Dreierkombinationen ermöglicht

Am besten man spielt alle verbleibenden, möglichen Felder durch, und testet den entstehenden Einfluss auf alle vertikalen, horizontalen und diagonalen Felder.