Hallo,
und zwar lerne ich für mein Studium gerade Java und bin noch im ersten Semester.
Ich soll ein Vier gewinnt spiel programmieren was sich selbst zufällig füllt.
Alles soweit so gut. Nur habe ich das Problem, dass bei meiner Diagonalen überprüfung ich nie auf meine Anzahl = 4 komme da ich den letzten "Block" nicht überprüfen kann durch meine "spielfeld.length -1".
Problem aber wenn ich die -1 lösche wird bekomme ich eine Fehlermeldung da ich ja ausserehalb des Array komme.
Hoffe jemand kann mir da helfen.
Danke schonmal im Vorraus:
[CODE lang="java" title="Diagonale überprüfung"] //Diagonal übeprüfen
for(int spalte =0; spalte<spielfeld.length-1;spalte++){
for (int zeile = 0; zeile < spielfeld.length-1; zeile++) {
if (spielfeld[spalte][zeile] == stein) {
int y=spalte;
int x=zeile;
while(x < spielfeld.length-1
&& y < spielfeld.length-1
&& spielfeld[y+1][x+1] == stein){//Letzte nicht weil kein stein mehr kommt
anzahldi++;
x++;
y++;
if (anzahldi == n) {
System.out.println("4 in einer Reihe diagonal");
break;
}
}
}
anzahldi=0;
}
}[/CODE]
und zwar lerne ich für mein Studium gerade Java und bin noch im ersten Semester.
Ich soll ein Vier gewinnt spiel programmieren was sich selbst zufällig füllt.
Alles soweit so gut. Nur habe ich das Problem, dass bei meiner Diagonalen überprüfung ich nie auf meine Anzahl = 4 komme da ich den letzten "Block" nicht überprüfen kann durch meine "spielfeld.length -1".
Problem aber wenn ich die -1 lösche wird bekomme ich eine Fehlermeldung da ich ja ausserehalb des Array komme.
Hoffe jemand kann mir da helfen.
Danke schonmal im Vorraus:
[CODE lang="java" title="Diagonale überprüfung"] //Diagonal übeprüfen
for(int spalte =0; spalte<spielfeld.length-1;spalte++){
for (int zeile = 0; zeile < spielfeld.length-1; zeile++) {
if (spielfeld[spalte][zeile] == stein) {
int y=spalte;
int x=zeile;
while(x < spielfeld.length-1
&& y < spielfeld.length-1
&& spielfeld[y+1][x+1] == stein){//Letzte nicht weil kein stein mehr kommt
anzahldi++;
x++;
y++;
if (anzahldi == n) {
System.out.println("4 in einer Reihe diagonal");
break;
}
}
}
anzahldi=0;
}
}[/CODE]