Erste Schritte Memorie zufällige Pärchen mischen

Hallo Leute,

ich bin gerade dabei ein kleines, ganz einfaches Memoriespiel zu schreiben. Dabei hänge ich seit längerem an dem Problem ein Array zu erzeugen in dem sich die aufzudeckenden Buchstaben befinden. Ich müsste sie ja einerseits zufällig bestimmen(das kenne ich schon mit der math-Klasse) andererseits müssen es aber immer 2 Paare sein, welche zufällig verteilt sind.
Hat jemand eine Idee wie ich das machen könnte????:L

Gruß:
Erdmann
 
Vielen Dank für deine Antwort :),

bei der Aufgabe handelt es sich um eine Übungsaufgabe für einen anstehenden kleinen Programmiertest. Hashmaps wurden leider noch gar nicht behandelt, es muss also noch einen anderen Weg geben, den ich gerne so nachvollziehen möchte.
Ich hatte überlegt, wenn es 10 "Karten" sein sollen, einfach ein Array mit 5 zufälligen Buchstaben erstellen und dieses dann um eine Kopie "erweitern"; dann sind die Pärchen aber auch wieder ab der
Hälfte sortiert :(
Aber Hashmaps werde ich mir auf jeden Fall mal ansehen, danke.
 

Klösp

Aktives Mitglied
Sind dir Listen bekannt wie z.B die ArrayList?
Dann könnte man z.B die Werte aus einem Array in eine ArrayList umschreiben.
Diese kann man dann mit Collections.shuffle(mylist) durchmischen.

Ansonsten:
Kenne jetzt selber gerade auch keinen, aber nach kurz googlen denke ich, dass es relativ einfache Algorithmen gibt, die das Problem lösen können.
 

anti-held

Bekanntes Mitglied
Wenn du Arrays verwenden willst und die Klasse Random verwendest, kannst du dir zufällige Positionen im neuen Array ausgeben lassen.

Hier der Code, um ein Kartenset zu mischen:

Java:
		String[] karten = new String[] { "7", "8", "9", "10", "B", "D", "K", "A" };
		Random r = new Random();

		String[] gemischteKarten = new String[karten.length * 2];

		for (int current = 0; current < karten.length * 2; current++) {
			// suche Lücke
			int index = r.nextInt(gemischteKarten.length);;
			while (gemischteKarten[index] != null) {
				index = r.nextInt(gemischteKarten.length);
			}

			// setze Karte ein
			gemischteKarten[index] = karten[current / 2];

		}
		
		for(String s:gemischteKarten){
			System.out.println(s);
		}
 
Die Methode von Anti-Held ist natürlich auch ganz interessant, sie nutzt wirklich nur das Wissen was wir theoretisch aus der Vorlesung mitnehmen könnten.
Danke!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
J Zufällige Spielerreihenfolge Java Basics - Anfänger-Themen 6
S Zufällige ungerade Zeile aus Text-Datei lesen Java Basics - Anfänger-Themen 5
D Zufällige Auswahl aus einem angelegten Array? Java Basics - Anfänger-Themen 10
L Zufällige Übereinstimmungen in 2 Arrays Java Basics - Anfänger-Themen 3
C Werte im Vector in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 14
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
T Zufällige Matrix in neue Matrix schreiben Java Basics - Anfänger-Themen 6
W Wie kann man zufällige Anordnungen machen? Java Basics - Anfänger-Themen 1
J Zufällige Buchstaben Java Basics - Anfänger-Themen 45
F zufällige Zahlenfolge Java Basics - Anfänger-Themen 8
J Buchstabe (char) an zufällige Position eines Strings einfügen Java Basics - Anfänger-Themen 1
J Zufällige Bewegung Java Basics - Anfänger-Themen 25
R Zufällige Abfolge Java Basics - Anfänger-Themen 5
E Variablen Zufällige Boolschevariable erzeugen Java Basics - Anfänger-Themen 4
K Zufällige Auswahl innerhalb eines Arrays und Arrays aus JLabel füllen Java Basics - Anfänger-Themen 32
F Datentypen Zufällige Buchstaben vertauschen Java Basics - Anfänger-Themen 3
B Zufällige Zahlen in Array sortieren Java Basics - Anfänger-Themen 18
B "Zufällige" Newlines in Process.getErrorStream Java Basics - Anfänger-Themen 5
M Zufällige Position Java Basics - Anfänger-Themen 3
B zwei zufällige elemente aus array lesen und überprüfen Java Basics - Anfänger-Themen 8
TheKing Zufällige Plattformen Java Basics - Anfänger-Themen 5
M zufällige auswahl eines Panels aus Grid Layout Java Basics - Anfänger-Themen 3
G Zufällige Zahlen Java Basics - Anfänger-Themen 13
S Zufällige Farbe Java Basics - Anfänger-Themen 5
G zufällige zahlen von x bis y generieren Java Basics - Anfänger-Themen 5
H Aus 5 Zahlen eine zufällige Kombination erzeugen,ohne doppel Java Basics - Anfänger-Themen 2
B Memory - Zufällige Anordnung von Buchstabenpaaren Java Basics - Anfänger-Themen 8
G Zufällige Buchstaben in char-Array Java Basics - Anfänger-Themen 9
M Zufällige Zeile aus einer Datei lesen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben