Hallo,
könnte mir jemand helfen bei meinem Code. Ich würde gerne die Sudoku Methode beenden sobald alle Kästchen voll sind. Dafür wollte ich eine zweite Funktion schreiben die alle Kästchen nach jeder Eingabe Prüft und mit boolean arbeitet. Der boolean Funktion muss zusätzlich immer das aktuelle Spielbrett übergeben werden.
Meine Frage ist wie übergebe ich das Aktuelle Spielbrett? und ist meine if u. while bedingung vor der Funktion so ok?
Ich weis das ich auf Funktionen zugreife die Ihr nicht kennen könnte allerdings sind meine Frage ja ziemlich allgemein und haben nichts damit zutun.
könnte mir jemand helfen bei meinem Code. Ich würde gerne die Sudoku Methode beenden sobald alle Kästchen voll sind. Dafür wollte ich eine zweite Funktion schreiben die alle Kästchen nach jeder Eingabe Prüft und mit boolean arbeitet. Der boolean Funktion muss zusätzlich immer das aktuelle Spielbrett übergeben werden.
Meine Frage ist wie übergebe ich das Aktuelle Spielbrett? und ist meine if u. while bedingung vor der Funktion so ok?
Ich weis das ich auf Funktionen zugreife die Ihr nicht kennen könnte allerdings sind meine Frage ja ziemlich allgemein und haben nichts damit zutun.
Code:
public class Sudoku {
public static void main (String[] args) {
int reihen = 9;
int spalten = 9;
int row;
int column;
int[][] spielbrett = new int[9][9];
for(int i = 0; i < 9; i++){
for(int j = 0; j < 9; j++)
{
spielbrett[i][j] = 0;
}
}
Grid.create(reihen, spalten);
for (row = 0; row <= 2; row++) {
for (column = 0; column <= 2; column++)
Grid.paintFloor(row, column, Grid.CYAN);
}
for (row = 0; row <= 2; row++) {
for (column = 6; column <= 8 ; column++)
Grid.paintFloor(row, column, Grid.CYAN);
}
for (row = 3; row <= 5; row++) {
for (column = 3; column <= 5; column++)
Grid.paintFloor(row, column, Grid.CYAN);
}
for (row = 6; row <= 8; row++) {
for (column = 0; column <= 2; column++)
Grid.paintFloor(row, column, Grid.CYAN);
}
for (row = 6; row <= 8; row++) {
for (column = 6 ; column <= 8; column++)
Grid.paintFloor(row, column, Grid.CYAN);
}
if (fertig() == true)
System.exit (0);
while(fertig() == false){
System.out.print ("Bitte machen Sie einen Spielzug!");
Grid.waitForClick ();
int rowIndex = Grid.getClickedRow();
int columnIndex = Grid.getClickedColumn();
int digit = Grid.readDigit();
Character.forDigit(digit, 10);
Grid.placeItem(rowIndex, columnIndex, Character.forDigit(digit, 10), Grid.BLACK);
if (digit == 0){
Grid.removeItem(rowIndex, columnIndex);
}
else{
spielbrett[rowIndex][columnIndex] = digit;
}
}
}
public static boolean fertig(){
//Aktuelle Spielbrett muss übergeben werden
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
if (spielbrett[i][j] != 0) {
return true;
}
}
}
return false;
}
}