mischen von Karten

Status
Nicht offen für weitere Antworten.
A

azur03

Gast
Hallo,
habe mich entschlossen, ganz von vorne anzufangen. Mittlerweile trauen habe ich mir zugetraut ein einfaches Kartenspiel auf Konsolenebene zu schreiben. Ein Problem liegt jedoch im Mischen der Karten. Die Karten liegen auf einem Datenfeld in geoordneter Reihenfolge:

Code:
   public static card[][] spieler = new card[2][40];

Jetzt sollen diese 40 Karten in eine zufällige Reihenfolge gebracht werden, sodass zum Beispiel die Karte spieler[0][37] ganz oben auf dem Stapel liegt. Gibt es dafür eine spezielle Funktion?

cu azur[/code]
 

m@nu

Bekanntes Mitglied
wenn du das ganze in einer List (z.b. ArrayList) hättest, könntest du per Collections.shuffle() deine karten durchmischen...

:arrow: http://java.sun.com/j2se/1.4.2/docs/api/java/util/Collections.html#shuffle(java.util.List, java.util.Random)

mit einem array denke ich wird das ganze relativ kompliziert... (oder gibts da auch ne "builtin"-methode für?)
 

Mag1c

Top Contributor
Wenn man in die Implementierung von Collections#shuffle schaut, findet man:

Code:
public static void shuffle(List list, Random rnd) {
...
    // Shuffle array
    for (int i=size; i>1; i--)
        swap(arr, i-1, rnd.nextInt(i));

Gruß
Mag1c
 
A

azur03

Gast
Hallo,
bin mir nicht sicher, ob meine Herangehensweise richtig ist. Ich hab das jetzt versucht selber zu schreiben und habe jeder Karte eine Zufallszahl erzeugt:

Code:
public static void mischen(int k){
     double[] nummer = new double[40];
     double[] nummer2 = new double[40];

     for (int i =0; i<nummer.length;i++){
        nummer[i]=Math.random();
        nummer2[i]=nummer[i];
      }

      Arrays.sort(nummer2);

      for(int i=0;i<nummer.length;i++){
         for(int h=0; h<nummer.length;h++){
           if(nummer2[i]==nummer[h]){
             reihenfolge[i]=h;
           }
         }
         System.out.println(reihenfolge[i]);
      }
   }

Diese Zufallszahlen habe ich dann der Reihe nach sortiert und somit eine Reihenfolge festgelegt. Die erste Karte auf dem Stapel wäre somit beim ersten Spieler:

Code:
spieler[0][reihenfolge[0]]

Kann man das so machen?
 
N

na-oma

Gast
denk schon das das so geht, wenns funzt, zufällig isses wohl auf jeden
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Perfektes Mischen Java Basics - Anfänger-Themen 15
X Best Practice Ein int Array richtig mischen Java Basics - Anfänger-Themen 20
D Sortiertes Array mischen ohne Duplikat Java Basics - Anfänger-Themen 5
W Arrays mischen und anhängen Java Basics - Anfänger-Themen 3
W Arrays zusammenhängen und mischen Java Basics - Anfänger-Themen 1
M String Array mischen Java Basics - Anfänger-Themen 3
E Erste Schritte Memorie zufällige Pärchen mischen Java Basics - Anfänger-Themen 6
T Datentypen gleichmäßiges mischen von 2 LinkedList Java Basics - Anfänger-Themen 3
P Mergesort || 2 SetLists mischen Java Basics - Anfänger-Themen 2
I Memory-Spiel Feld nur einmal mischen Java Basics - Anfänger-Themen 2
J ein Array per Zufall mischen?! Java Basics - Anfänger-Themen 8
E ArrayList mischen Java Basics - Anfänger-Themen 3
G Inhalte eines Arrays mischen Java Basics - Anfänger-Themen 3
Antoras Zahlen mischen und mit einer for-Schleife Summe berechnen Java Basics - Anfänger-Themen 12
P jsp tags und scriplets mischen dynamische werte an jsp tag Java Basics - Anfänger-Themen 2
K Hashtable mischen (shuffeln)? Java Basics - Anfänger-Themen 4
R 3-Wege-mischen implementieren Java Basics - Anfänger-Themen 7
? Layouts Mischen Java Basics - Anfänger-Themen 5
0 Endlosschleife beim Integer Array mischen? Java Basics - Anfänger-Themen 3
H Vector mischen Java Basics - Anfänger-Themen 6
N Mischen und vergleichen von Arrays Java Basics - Anfänger-Themen 6
nils812 Black Jack Karten Anzahl begrenzen Java Basics - Anfänger-Themen 5
Jambolo Karten sortieren nach Rang und Farbe Java Basics - Anfänger-Themen 5
X Karten austeilen in Java Java Basics - Anfänger-Themen 3
A Karten ziehen Java Basics - Anfänger-Themen 11
K Memory-Spiel alle verdeckte karten aufdecken. Java Basics - Anfänger-Themen 26
K Alle noch nicht umgedrehte Karten umdrehen ? Java Basics - Anfänger-Themen 2
T Karten zufällig anordnen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben