Aloha,
muss hier eine Art Vier Gewinnt programmieren. Ich hab aber grad einen totalen hänger und komme überhaupt nicht mehr weiter.
Ich habe ein Spielfeld auf welchem 2 Spieler abwechselnd ihre X und O setzen. Das klappt auch. Jetzt muss ich eig. nur noch eine Gewinnsituation rausfiltern und falls vorhanden das Spiel beenden.
Jetzt raff ich aber nicht wie ich mein komplettes Spielbrett nach jedem Zug komplett nach einem Gewinn (in diesem Fall 6 in einer Folge) durchsuche. Ich soll laut UML (haben wir als Hilfe bekommen) ein ENUM erstellen was alle Himmelsrichtungen enthält. Da auch 6 Diagonale einen Gewinn ergeben.
anhand diesen ENUMs habe ich eine Switch-Case erstellt. Das sieht so aus:
Ein Feld wird mit dem State BLACK versehen wenn ein X (Spieler 1) dieses Feld füllt und mit State WHITE versehen wenn ein O (Spieler 2) dieses Feld markiert. Sprich, ich muss jetzt schauen wo 6xState.BLACK oder State.WHITE in Folge stehen.... wie kann ich das Feld jetzt durchforsten? Ich komme ums verrecken nicht drauf!!
Wäre echt cool wenn mir jemand auf die Sprünge helfen könnte...
Gruß,
Christian
muss hier eine Art Vier Gewinnt programmieren. Ich hab aber grad einen totalen hänger und komme überhaupt nicht mehr weiter.
Ich habe ein Spielfeld auf welchem 2 Spieler abwechselnd ihre X und O setzen. Das klappt auch. Jetzt muss ich eig. nur noch eine Gewinnsituation rausfiltern und falls vorhanden das Spiel beenden.
Jetzt raff ich aber nicht wie ich mein komplettes Spielbrett nach jedem Zug komplett nach einem Gewinn (in diesem Fall 6 in einer Folge) durchsuche. Ich soll laut UML (haben wir als Hilfe bekommen) ein ENUM erstellen was alle Himmelsrichtungen enthält. Da auch 6 Diagonale einen Gewinn ergeben.
anhand diesen ENUMs habe ich eine Switch-Case erstellt. Das sieht so aus:
Java:
public enum Direction{NORTH,NORTHEAST,EAST,SOUTHEAST,SOUTH,SOUTHWEST,WEST,NORTHWEST};
Java:
Direction dirs = Direction.NORTH;
int x = 0;
int y = 0;
switch (dirs) {
case NORTH:
x = -1;
y = 0;
case SOUTH:
x = +1;
y = 0;
case WEST:
x = 0;
y = -1;
case EAST:
x = 0;
y = +1;
case NORTHEAST:
x = -1;
y = +1;
case SOUTHEAST:
x = +1;
y = +1;
case NORTHWEST:
x = -1;
y = -1;
case SOUTHWEST:
x = +1;
y = -1;
}
Ein Feld wird mit dem State BLACK versehen wenn ein X (Spieler 1) dieses Feld füllt und mit State WHITE versehen wenn ein O (Spieler 2) dieses Feld markiert. Sprich, ich muss jetzt schauen wo 6xState.BLACK oder State.WHITE in Folge stehen.... wie kann ich das Feld jetzt durchforsten? Ich komme ums verrecken nicht drauf!!
Wäre echt cool wenn mir jemand auf die Sprünge helfen könnte...
Gruß,
Christian