schön guten abend,
ich hab schon viel gesucht, schon viel gefunden, aber leider hab ich seit 2 stunden immernoch keine lösung gefunden die ich wirklich verstehe
meine aufgaben: Memory Spiel
mein problem:
der spieler gibt am anfang die größe des spielfeldes ein, z. b. 4x4
also ein 2D array
wie bekomme ich das hin, dass dieses 2D array zufällig sortiert wird, mit der berücksichtigung dass ja ein buchstabe genau 2 mal vorkommen muss ???:L
hier mein bisheriger programmcode
ich bin anfänger
freue mich besonders über detaillierte erklärungen
gruß
ich hab schon viel gesucht, schon viel gefunden, aber leider hab ich seit 2 stunden immernoch keine lösung gefunden die ich wirklich verstehe
meine aufgaben: Memory Spiel
mein problem:
der spieler gibt am anfang die größe des spielfeldes ein, z. b. 4x4
also ein 2D array
wie bekomme ich das hin, dass dieses 2D array zufällig sortiert wird, mit der berücksichtigung dass ja ein buchstabe genau 2 mal vorkommen muss ???:L
hier mein bisheriger programmcode
Java:
public class Memory {
public static void main(String[] args) {
int x; // Koordinate x
int y; // Koordinate y
String cards = "AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ"; // Spielkarten (maximal Anzahl, also 24x24)
char[] cardsArray = cards.toCharArray(); // Alphabet wird ins Array gepackt
String playingField [][]; // anfangsfeld (mit Strichen gefüllt)
String finishField [][]; // Lösungsfeld (mit der richtigen Anordnung der Buchstaben
// for(int i= 0; i < 48; i++) // Überprüfung was im cardsArray steht
// System.out.println(cardsArray[i]);
// ****** hier gehts los! *************
System.out.println("Bitte geben Sie die Größe des Spielfeldes (x|y) ein:");
System.out.print("x: ");
x = (int) In.readInt();
System.out.print("y: ");
y = (int) In.readInt();
playingField = new String [y][x];
finishField = new String [y] [x];
// Startfeld
System.out.print("\n");
for (int zeile = 0; zeile < y; zeile++)
for (int spalte = 0; spalte < x; spalte++)
playingField[zeile][spalte] = "-";
System.out.print(" ");
for (int spalte = 0; spalte < x; spalte ++)
if (spalte < 9)
System.out.print(+ spalte+1 +" ");
else
System.out.print(+ spalte+1+" ");
System.out.print("\n");
for (int zeile = 0; zeile < y; zeile++ ) {
if (zeile < 9)
System.out.print(+ zeile+1 +" ");
else
System.out.print(+ zeile+1+" ");
for (int spalte=0; spalte < playingField[zeile].length; spalte++ )
System.out.print( playingField[zeile][spalte] + " ");
System.out.println();
}
// Zielfeld --> wäre toll wenn ich da die Buchstaben reinbekommen würde!!
System.out.print("\n");
for (int zeile = 0; zeile < y; zeile++)
for (int spalte = 0; spalte < x; spalte++)
finishField[zeile][spalte] = "-"; // hier müsste ich anstatt des "-" irgendwie ein zufälliges gefülltes array hinschreiben (wäre vielleicht eine möglichkeit)
System.out.print(" ");
for (int spalte = 0; spalte < x; spalte ++)
if (spalte < 9)
System.out.print(+ spalte+1 +" ");
else
System.out.print(+ spalte+1+" ");
System.out.print("\n");
for (int zeile = 0; zeile < y; zeile++ ) {
if (zeile < 9)
System.out.print(+ zeile+1 +" ");
else
System.out.print(+ zeile+1+" ");
for (int spalte=0; spalte < finishField[zeile].length; spalte++ )
System.out.print( finishField[zeile][spalte] + " ");
System.out.println();
}
}
}
ich bin anfänger
freue mich besonders über detaillierte erklärungen
gruß
Zuletzt bearbeitet: