Zufallszahlen in Array eintragen
Übersicht

Eurora2Betreff: Zufallszahlen in Array eintragen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich möchte ein Array mit Zufallszahlen füllen. Allerdings solle jede Zahl nur einmal in das Array eingetragen werden. Das Problem ist das ich nicht weiß wie ich verhindere das er eine Zahl die er schon einmal mit Rand() ausgegen hat noch einmal einträgt. Sinn der Sache ist das ich mich an einem kleinen Mau Mau Kartenspiel versuche. Nun steht jede Zahl für eine Karte (z.B. die 5 für Kreuz Dame). Es gibt ein Array Kartendeck, in dieses Array sollen nun zufällig die zahlen eingetragen werden (0-31). Das Ergebniss sollte dann beispielweise so aussehen: kartendeck(0) = 4 kartendeck(1) = 15 kartendeck(2) = 22 kartendeck(3) = 2 usw. Andere Frage: Wie kann ich bei Rand() denn ereichen das er eine Zufallszahl aus eine Auswahl von Zahlen auswählt? Also nicht in einem Bereich von z.B. 0-20 sondern er soll zufällig die Zahl 3,5,7,9,14 oder 153 auswählen. Bin über jegliche Hilfe sehr dankbar ![]() Gruß Eurora |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Letzteres: Indem du erst mit Rand() einen Array befüllst und dann mit einem späteren Rand auf die Einträge dieses Array zugreifst und die Zahlen daraus zurück gibst, anstatt die Rand() Resultate. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zum ersten Problem:
Erstelle das Array und fülle es mit allen Werten, danach mische das Array durch, indem du immer 2 zufällige Einträge vertauschst: Code: [AUSKLAPPEN] MAX = 10
Dim Array(MAX-1) ;Array mit allen vorkommenden Werten füllen Print "Array vor dem Mischen:" For i = 0 To MAX-1 Array(i) = i Print Array(i) Next ;Array ordentlich durchmischen For i = 1 To 100 a = Rand(0, MAX-1) b = Rand(0, MAX-1) tmp = Array(a) Array(a) = Array(b) Array(b) = tmp Next ;Array nach dem mischen Print "Array nach dem Mischen:" For i = 0 To MAX-1 Print Array(i) Next WaitKey End |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
- Zuletzt bearbeitet von SpionAtom am Do, Jan 11, 2007 17:06, insgesamt einmal bearbeitet
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
SpionAtom hat Folgendes geschrieben: Code: [AUSKLAPPEN]
MAX = 10
;Array nach dem mischen Print "Array vor dem Mischen:" For i = 0 To MAX-1 Print Array(i) Next WaitKey End Muss da nich Code: [AUSKLAPPEN] ;Array nach dem mischen Print "Array nach dem Mischen:" For i = 0 To MAX-1 Print Array(i) Next Hin ? ![]() |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Crack93 hat Folgendes geschrieben:![]() Die Tücken des Copy&Paste... Habs verbessert ![]() |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
Eurora2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank euch, funktioniert ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group