Rand beeinflussen ?
Übersicht
BlitzBasic
Allgemein|
|
sbrogBetreff: Rand beeinflussen ? |
Antworten mit Zitat |
|---|---|---|
|
Wenn ich folgenden code habe :
Code: [AUSKLAPPEN] seedrnd millisecs() Repeat x = rand(5) print x until keyhit(1) Eine Zahl kommt jetzt jedes fünfte mal vor. Wie kann ich sagen, dass z.b die 5 doppelt so oft vorkommt ? |
||
|
|
Hubsi |
Antworten mit Zitat |
|---|---|---|
Hier ergibt sich keine regelmäßigkeit. Die Liste könnte auch so aussehen:
Code: [AUSKLAPPEN] bla=Rand(5)
zaehler=zaehler+1 If zaehler=5 Then bla=deine_Zahl:zaehler=0 Hoffe Dich richtig verstanden zu haben |
||
| Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... | ||
|
|
RallimenSieger des 30-EUR-Wettbewerbs |
Antworten mit Zitat |
|---|---|---|
|
da gibt es viele möglichkeiten:
Code: [AUSKLAPPEN] seedrnd millisecs()
Repeat x = rand(6) if x= 6 then x= 5 ; je nach dem welche doppelt kommen soll print x until keyhit(1) |
||
|
[BB2D | BB3D | BB+]
|
||
|
|
sbrog |
Antworten mit Zitat |
|---|---|---|
|
Hubsi hat Folgendes geschrieben: Hier ergibt sich keine regelmäßigkeit. Die Liste könnte auch so aussehen:
ich meinete ja auch "statistisch gesehen kommt eine zahl jedes fünfte mal vor" |
||
|
|
sbrog |
Antworten mit Zitat |
|---|---|---|
|
sorry für dp
stimmt der code so ? jedes zweite mal ist die chance , dass x = 1 ist verdoppelt Code: [AUSKLAPPEN] SeedRnd MilliSecs() zaehler=0 Repeat x=Rnd(5) zaehler = zaehler+1 If zaehler =2 zaehler =0 If x =0 x= 1 EndIf EndIf Print x WaitKey Until KeyHit(1) |
||
Apocalyptic |
Antworten mit Zitat |
|
|---|---|---|
|
Wenn ich dich rictig verstanden habe, dürfte dir das hier helfen (aus dem englischen Code Archiv):
Code: [AUSKLAPPEN] Function Weighted_Random()
Local Weight[5] ; Weight each number, 0 thru 4. Weight[0] = 10 Weight[1] = 10 Weight[2] = 10 Weight[3] = 10 Weight[4] = 1 ; Add up the weights. TotalWeight = 0 For Loop = 0 To 4 TotalWeight = TotalWeight + Weight[Loop] Next ; Choose a random number between 1 and the total weight. RandNum = Rand(1, TotalWeight) ; Figure out which value this number corresponds to, using the weights. For Loop = 0 To 4 If Weight[Loop] > RandNum Then Return Loop RandNum = RandNum - Weight[Loop] Next End Function |
||
|
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
||
|
|
sbrog |
Antworten mit Zitat |
|---|---|---|
| Wenn ich will, dass das Programm zwischen bestimmten Ziffern auswählt (z.B 1,5,7) , was muss ich dann schreiben ? | ||
|
|
Hubsi |
Antworten mit Zitat |
|---|---|---|
|
Code: [AUSKLAPPEN] Dim bla(2)
bla(0)=1:bla(1)=5:bla(2)=7 print bla(Rand(0,2)) |
||
| Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... | ||
Übersicht
BlitzBasic
Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group
