Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: 3 gewinnt winnertest
AUTOR BEITRAG
DoomTheBrain

RANG Skill Commander

#1 - 13.03 23:22

ja kennt ihr das spiel 3 gewinnt? hat 9 felder und jett macht man kreuz oder kreis rein. wer 3 in einer reihe hat gewinnt

ich habe deshalb ein int array mit 9 feldern und dort steht entweder 1 oder 2 für die 2 spieler. wie kann ich jetzt am intelligentesten testen wer gewonnen hat? ohne dafür alle möglichen kombinationen aufzuschreiben??

danke
Allanon // alex

CI-Chef

RANG Prophet of Clanintern

#2 - 13.03 23:48

naja .. soviele möglichkeiten sind das ja nicht... ich denke da is jeder algo zuviel, anstatt die 8 lösungen zu checken

und bei uns heißt das spiel tic-tac-toe
Crush (steht auf die extremeren Sachen)

RANG Deckschrubber

#3 - 15.03 07:54

Nun, wenn man das Ganze auf ein beliebig großes Spielfeld der Größe A mal B übertragen will, auf dem eine Linie der variablen Länge N zum Sieg ausreicht, wäre eine algorithmische Lösung günstiger.

Ich würde folgendermaßen vorgehen.

-Das Spielfeld Zeile für Zeile durchgehen.
-Den Zähler am Anfang jeder Zeile auf 1 setzen.
-Jede Zeile mit der 2. Zelle von links beginnend nach rechts durchgehen.
-Wenn die Zelle mit der vorigen Zelle identisch ist, Zähler um 1 erhöhen.
-Wenn die Zelle nicht identisch oder leer ist, Zähler auf 1 setzen.
-Erreicht der Zähler den Wert N, hat der Spieler dessen Farbe die aktuelle Zelle hat gewonnen.

Dann dasselbe Prinzip mit den vertikalen Reihen wiederholen.

Dann die Diagonalen.