Ich bin gerade dabei ein SlideSpiel zu erstellen. Es soll ein Feld aus 4x4 erstellt und dort soll man dann Zahlen hin und her schieben sodass am Ende alle Zahlen in einer Reihe stehen müssen. Ich komme aber an paar Punkten nicht weiter. Ich möchte die Switch Anweisung für die Steuerung gerne als Methode laufen lassen damit ich die eingabe separat habe. Es soll nämlich das Spielfeld random gemischt werden. Jedesmal wenn ich versuche die eingabe und die Switchanweisung mit 2 Methoden zusammen zu führen dann gibt es einen Error. Wenn ich die IO.readInt eingabe einfach auf public static int erstellen, dann will der Computer erst eine eingabe bevor irgendwas startet. Und am ende kommt dann nur die System.out.prinln Nachricht: "Bitte gültige Zahl eingeben".
Code:
import java.util.Arrays;
public class Aufgabe6mitmethoden2 {
public static int x = 0;
public static int y = 1;
public static void main (String args[]) {
begruessung();
ausgebenDerMatrix();
Spiel(); }
public static int Zahlen [] [] = {
{1,0,2,3},
{4,5,6,7},
{8,9,10,11},
{12,13,14,15}, };
public static int Lösung [] [] = {
{0,1,2,3},
{4,5,6,7},
{8,9,10,11},
{12,13,14,15}, };
public static void begruessung() {
System.out.println("Gebe eine Zahl ein: ");
System.out.println("2 = Nach Unten");
System.out.println("4 = Nach Links");
System.out.println("8 = Nach Oben");
System.out.println("6 = Nach Rechts"); }
public static void ausgebenDerMatrix() {
// \t = Tabulator
System.out.println("___________________________");
for(int i = 0; i < Zahlen.length; i++)
{ for(int j = 0; j < Zahlen[i].length; j++){
System.out.print(Zahlen[i][j] + "\t");
}
System.out.println();}
System.out.println("___________________________");}
public static void switcha() {
switch (eingabe) {
case 6:{
Zahlen[x][y] = Zahlen[x][y+1];
Zahlen[x][y+1] = 0;
y = y+1;
ausgebenDerMatrix();;
}
break;
case 4:{
Zahlen[x][y] = Zahlen[x][y-1];
Zahlen[x][y-1] = 0;
y = y-1;
ausgebenDerMatrix();
}
break;
case 8:{
Zahlen[x][y] = Zahlen[x-1][y];
Zahlen[x-1][y] = 0;
x = x-1;
ausgebenDerMatrix();
}
break;
case 2:{
Zahlen[x][y] = Zahlen[x+1][y];
Zahlen[x+1][y] = 0;
x = x+1;
ausgebenDerMatrix();
}
break;
default:
}
}
public static void eingeben() {
int eingbabe = IO.readInt();
}
public static void Spiel() {
while (!(Arrays.deepEquals(Zahlen, Lösung))) {
eingeben();
switcha();
System.out.println("Bitte eine gültige Zahl eingeben"); }
}
}