Hallo,
ich hänge momentan an einer Aufgabe an der Uni. Wir sollen beim Spiel TicTacToe (dürfte ja bekannt sein) einen Code schreiben der die Anzahl aller möglichen gültigen Spielenden (nicht Spielzüge) ausgibt.
Ich habe jetzt also ein 2-Dimensionales Array erstellt und mein Gedanke ist einfach darum herum quasi noch ein Feld zu bauen, ab wo es ungültig wird, also quasi ein[5][5] Array (das Spielfeld ist ja an sich nur 3x3 groß), wobei ich dann dem Kreuz den int-Wert 1 gebe, dem Kreis -1 und den ungültigen Feldern die Zahl 100.
Dort würde das ganze dann abbrechen, da dies ja schonmal kein gültiger Zug wäre.
Sähe dann so aus:
Allerdings fehlt mir jetzt ein bisschen der Ansatz wie ich weiter vorgehen soll. In der Aufgabe steht "..., indem Sie systematisch alle erreichbaren Spielsituationen durchgehen und zählen".
Da ich aber schon alleine am Anfang ja eine Wahl von 9 Feldern habe auf die ich mein Zeichen setzen kann, müsste ich ja 9 for-Schleifen machen die dann alle möglichen Züge simulieren und zudem noch prüfen, ob ein Spieler schon 3 in einer Reihe hat - also quasi wähle ich jedes der 9 Felder einmal als Start aus.
Aber vielleicht habt ihr ja ein paar bessere Ansätze, vermutlich denke ich nur zu kompliziert.
ich hänge momentan an einer Aufgabe an der Uni. Wir sollen beim Spiel TicTacToe (dürfte ja bekannt sein) einen Code schreiben der die Anzahl aller möglichen gültigen Spielenden (nicht Spielzüge) ausgibt.
Ich habe jetzt also ein 2-Dimensionales Array erstellt und mein Gedanke ist einfach darum herum quasi noch ein Feld zu bauen, ab wo es ungültig wird, also quasi ein[5][5] Array (das Spielfeld ist ja an sich nur 3x3 groß), wobei ich dann dem Kreuz den int-Wert 1 gebe, dem Kreis -1 und den ungültigen Feldern die Zahl 100.
Dort würde das ganze dann abbrechen, da dies ja schonmal kein gültiger Zug wäre.
Sähe dann so aus:
Java:
static int zugberechnung(int a[][]){
int spielstaende = 0;
int kreuz = 1;
int kreis = -1;
int ungueltig = 100;
for(int i=0; i<5; i++){
a[i][0][I] = ungueltig;
a[I][i][0] = ungueltig;
a[i][4][I] = ungueltig;
a[i][I][4] = ungueltig;
}
Allerdings fehlt mir jetzt ein bisschen der Ansatz wie ich weiter vorgehen soll. In der Aufgabe steht "..., indem Sie systematisch alle erreichbaren Spielsituationen durchgehen und zählen".
Da ich aber schon alleine am Anfang ja eine Wahl von 9 Feldern habe auf die ich mein Zeichen setzen kann, müsste ich ja 9 for-Schleifen machen die dann alle möglichen Züge simulieren und zudem noch prüfen, ob ein Spieler schon 3 in einer Reihe hat - also quasi wähle ich jedes der 9 Felder einmal als Start aus.
Aber vielleicht habt ihr ja ein paar bessere Ansätze, vermutlich denke ich nur zu kompliziert.
Zuletzt bearbeitet von einem Moderator: