Hallo Java-Gemeinde.
Habe mal wieder ein kleines Problem. Programmiere gerade ein Minesweeper. Bekomme aber die Methode mit dem zählen der Minen auf den Nachbarfeldern nicht zurecht. Habe am Rand immer einen Überlauf. Bekomme in aber nicht weg. Ist sicher ein blöder denkfehler.
Da der derzeit größte Fehler nur in dieser Methode liegt poste ich nur diese. Möchte nicht mit der Tür ins Haus fallen.
Mein zweites Problem liegt daran das ich den IntWert aus der countBomb Methode in ein char[][] spiele. Bekomme aber wie zu erwarten war keinen IntWert ausgeben. Kann ich dieses Problem einfach lösen oder muss ich meine char[][] in einen int[][] umwandeln.
[Java] static int countBomb(){
int c = 1; // column
int r = 1; // row
int c1 = 1;
int r1 = 1;
bombcnt = 0;
if(moveRow1 == 0){
r = 0;
r1 = 1;
}// if
if(moveRow1 == sizeField){
r = 1;
r1 = 0;
}// if
if(moveColumn1 == 0){
c = 0;
c1 = 1;
}// if
if(moveColumn1 == sizeField){
c = 1;
c1 = 0;
}// if
for(int i = moveRow1 - r; i <= moveRow1 + r1; i++){
for(int j = moveColumn1 - c; j <= moveColumn1 + c1; j++){
if(minesField1[j] == 'B'){
bombcnt++;
}//if
}//for
}//for
return bombcnt;
}// countBomb
[/Java]
Danke Jeans
Habe mal wieder ein kleines Problem. Programmiere gerade ein Minesweeper. Bekomme aber die Methode mit dem zählen der Minen auf den Nachbarfeldern nicht zurecht. Habe am Rand immer einen Überlauf. Bekomme in aber nicht weg. Ist sicher ein blöder denkfehler.
Da der derzeit größte Fehler nur in dieser Methode liegt poste ich nur diese. Möchte nicht mit der Tür ins Haus fallen.
Mein zweites Problem liegt daran das ich den IntWert aus der countBomb Methode in ein char[][] spiele. Bekomme aber wie zu erwarten war keinen IntWert ausgeben. Kann ich dieses Problem einfach lösen oder muss ich meine char[][] in einen int[][] umwandeln.
[Java] static int countBomb(){
int c = 1; // column
int r = 1; // row
int c1 = 1;
int r1 = 1;
bombcnt = 0;
if(moveRow1 == 0){
r = 0;
r1 = 1;
}// if
if(moveRow1 == sizeField){
r = 1;
r1 = 0;
}// if
if(moveColumn1 == 0){
c = 0;
c1 = 1;
}// if
if(moveColumn1 == sizeField){
c = 1;
c1 = 0;
}// if
for(int i = moveRow1 - r; i <= moveRow1 + r1; i++){
for(int j = moveColumn1 - c; j <= moveColumn1 + c1; j++){
if(minesField1[j] == 'B'){
bombcnt++;
}//if
}//for
}//for
return bombcnt;
}// countBomb
[/Java]
Danke Jeans