[JAVA=42]
public class Nr2 {
public static void main (String[] args) {
String [][] spielfeldNummern = {{" 4", "14", " 6", "11"}, {"10", "15", "13", " 3"}, {" 9", " 5", " 1", "12"}, {" 7", " 2", " 8", " "}};;
int zeileLeer=0;
int spalteLeer=0;
while (true) {
spielfeld(spielfeldNummern);
leeresFeldFinden(zeileLeer, spalteLeer, spielfeldNummern);
int zeile = IO.readInt("Welche Zeile:");
int spalte = IO.readInt("Welche Spalte:");
verschieben(zeile, spalte, zeileLeer, spalteLeer, spielfeldNummern);
}
}
public static void spielfeld(String [][] spielfeldNummern) {
System.out.println("+ -- + -- + -- + -- +");
System.out.println("| " +spielfeldNummern[0][0] +" | " +spielfeldNummern[0][1] +" | " +spielfeldNummern[0][2] +" | " +spielfeldNummern[0][3] +" |");
System.out.println("+ -- + -- + -- + -- +");
System.out.println("| " +spielfeldNummern[1][0] +" | " +spielfeldNummern[1][1] +" | " +spielfeldNummern[1][2] +" | " +spielfeldNummern[1][3] +" |");
System.out.println("+ -- + -- + -- + -- +");
System.out.println("| " +spielfeldNummern[2][0] +" | " +spielfeldNummern[2][1] +" | " +spielfeldNummern[2][2] +" | " +spielfeldNummern[2][3] +" |");
System.out.println("+ -- + -- + -- + -- +");
System.out.println("| " +spielfeldNummern[3][0] +" | " +spielfeldNummern[3][1] +" | " +spielfeldNummern[3][2] +" | " +spielfeldNummern[3][3] +" |");
System.out.println("+ -- + -- + -- + -- +");
}
public static void leeresFeldFinden(int zeileLeer, int spalteLeer, String [][] spielfeldNummern) {
for (int a=0; a<spielfeldNummern.length; a++) {
for (int b=0; b<spielfeldNummern.length; b++) {
if (spielfeldNummern[a].equals(" ")) {
zeileLeer = a;
spalteLeer = b;
}
}
}
}
public static void verschieben(int zeile, int spalte, int zeileLeer, int spalteLeer, String[][] spielfeldNummern) {
if (überprüfen(zeile, spalte, zeileLeer, spalteLeer) == false) {
System.out.println("Falsche Eingabe!");
}
if (überprüfen(zeile, spalte, zeileLeer, spalteLeer) == true) {
String a = spielfeldNummern[zeile] [spalte];
spielfeldNummern[zeile] [spalte] = spielfeldNummern[zeileLeer][spalteLeer];
spielfeldNummern[zeileLeer][spalteLeer] = a;
}
}
public static boolean überprüfen(int zeile, int spalte, int zeileLeer, int spalteLeer) {
if (zeileLeer == zeile+1) {
if (spalteLeer == spalte+1) {
return true;
} else if (spalteLeer == spalte-1) {
return true;
} else if (spalteLeer == spalte) {
return true;
} else {
return false;
}
} else if (zeileLeer == zeile-1) {
if (spalteLeer == spalte+1) {
return true;
} else if (spalteLeer == spalte-1) {
return true;
} else if (spalteLeer == spalte) {
return true;
} else {
return false;
}
} else if (zeileLeer == zeile) {
if (spalteLeer == spalte+1) {
return true;
} else if (spalteLeer == spalte-1) {
return true;
} else if (spalteLeer == spalte) {
return true;
} else {
return false;
}
} else {
return false;
}
}
}
[/code]