Hi,
ich programmiere gerade eine abgewandelte Form des Kartenspiels "Leben und Tod" Dabei hat der Computer und der Mensch jeweils zwei Kartenstapel und es wird immer nur die oberste Karte von einem Stapel entfernt und mit der des Gegners verglichen.
Um zum Punkt zu kommen, das Programm ist fast fertig, nur beim Mischen hakt es noch. Und zwar habe ich die ganzen 32 Karten erst mal per Hand erstellt und zwar als Array.
Dieses Array würde ich jetzt gerne auf einen Stack legen, und zwar in willkürlicher Reihenfolge.
Meine Überlegung dazu:
//Karteninitialisierung
Karte karte[0] = new Karte (1, 7); //und das für insgesamt 32 Karten!
.
.
.
Nun habe ich mir überlegt mittels einer for-Schleife die Karten auf einen Stack zu legen, und dabei einen Wert zwischen 0 und 31 zu generieren. Das generieren macht keine Schwierigkeiten, sondern eher dass jeder Wert nur ein einziges Mal vorkommt. Dafür war meine Überlegung um es kurz auszudrücken, dass ich so etwas in der for-Schleife mache:
int j = 0;
int[ ] f = new int [32];
for (int i=0; i<karte.length; i++)
{
j = rnd.nextInt(32)
// Nun würde ich die Zahl j mit dem ganzen Array f abgleichen, ob der Wert darin schon vorhanden ist. Wenn nicht, dann würde der Wert ins Array gespeichert werden, und die Karte käme auf den Stapel. Wenn der Wert von j schon im Array f steht, wird eine neue Zahl generiert.
Eine Idee von mir war gewesen, das Array mit Hilfe einer if-else Abfrage zu durchsuchen, aber das geht leider nicht so einfach, musste ich leider feststellen.
Ich hoffe dass ich euch das einigermaßen erklärt habe, was ich machen möchte, und ihr mir helfen könnt.
Gruß cyberc
PS: Ich bin noch ein ziemlicher Anfänger (habe dieses Semester angefangen zu programmieren.
ich programmiere gerade eine abgewandelte Form des Kartenspiels "Leben und Tod" Dabei hat der Computer und der Mensch jeweils zwei Kartenstapel und es wird immer nur die oberste Karte von einem Stapel entfernt und mit der des Gegners verglichen.
Um zum Punkt zu kommen, das Programm ist fast fertig, nur beim Mischen hakt es noch. Und zwar habe ich die ganzen 32 Karten erst mal per Hand erstellt und zwar als Array.
Dieses Array würde ich jetzt gerne auf einen Stack legen, und zwar in willkürlicher Reihenfolge.
Meine Überlegung dazu:
//Karteninitialisierung
Karte karte[0] = new Karte (1, 7); //und das für insgesamt 32 Karten!
.
.
.
Nun habe ich mir überlegt mittels einer for-Schleife die Karten auf einen Stack zu legen, und dabei einen Wert zwischen 0 und 31 zu generieren. Das generieren macht keine Schwierigkeiten, sondern eher dass jeder Wert nur ein einziges Mal vorkommt. Dafür war meine Überlegung um es kurz auszudrücken, dass ich so etwas in der for-Schleife mache:
int j = 0;
int[ ] f = new int [32];
for (int i=0; i<karte.length; i++)
{
j = rnd.nextInt(32)
// Nun würde ich die Zahl j mit dem ganzen Array f abgleichen, ob der Wert darin schon vorhanden ist. Wenn nicht, dann würde der Wert ins Array gespeichert werden, und die Karte käme auf den Stapel. Wenn der Wert von j schon im Array f steht, wird eine neue Zahl generiert.
Eine Idee von mir war gewesen, das Array mit Hilfe einer if-else Abfrage zu durchsuchen, aber das geht leider nicht so einfach, musste ich leider feststellen.
Ich hoffe dass ich euch das einigermaßen erklärt habe, was ich machen möchte, und ihr mir helfen könnt.
Gruß cyberc
PS: Ich bin noch ein ziemlicher Anfänger (habe dieses Semester angefangen zu programmieren.