zufall zwischen 0 und 1
Übersicht

da_pollerBetreff: zufall zwischen 0 und 1 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mir erscheinen die werte etwas sehr unzufällig
hier mal ein codefetzen: Code: [AUSKLAPPEN] SeedRnd MilliSecs()*Rand(0,1000) x=Rand(0,1) 10 mal in folge erhalte ich 0 dann 2 mal 1 dann wiederr 8-15 mal 0 und für einen würfel ist das reichlich unzufällig.. hat jemand eine idee wie ich die zufallszahlen etwas zufälliger machen könnte? |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Na wenn du 2 Zahlen hast ist das doch auch zufällig, oder?
Dazu verstehe ich deine Rechnung beim SeedRND nicht. Millisecs() reicht. |
||
![]() |
Nova |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du musst bedenken das 01000110111 genauso wahrscheinlich auftreten kann wie 00000000001.
Also ich kriege bei folgendem Code "zufällige" Zahlen: Code: [AUSKLAPPEN] SeedRnd MilliSecs()
x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x x=Rand(0,1) Print x WaitKey End |
||
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit |
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nun das ganze befindet cih in meinem code oben initialisiere ich das und TEILWEISE kommt es vor das über 15 mal nacheinander der gleiche wert kommt..
8-10 mal wäre ja noch in einem normalen rahmen aber 15 mal ist shcon heftig.. wobei in einem testcode erhalte ich ganz andere werte als im spiel.. vielleicht baue ich ncoh eine kontroll funktion das er alle 8-10 würfe rand neu initialisiert.. hätte das evtl einen vorteil was die zufälligkeit angeht.? |
||
![]() |
Nova |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, eigentlich schon. | ||
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: TEILWEISE kommt es vor das über 15 mal nacheinander der gleiche wert kommt
du darfst auch nur einmal am Anfang seedrnd ausführen und nicht inerhalb einer Schleife jedesmal vor Rand! |
||
[BB2D | BB3D | BB+]
|
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nova, nur so als Randbemerkung, der Testcode ist zum weinen.
Guck dir For ![]() ![]() |
||
![]() |
Nova |
![]() Antworten mit Zitat ![]() |
---|---|---|
Copy&Paste ging schneller als eine For-Next Schleife zu erstellen. ![]() |
||
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sich mit Keulen zu verkloppen ist auch einfacher als sich zu erschiessen.
Warum haben wir überhaupt Kleider an, wenn wir doch auch nackt rumrennen können? Wenn du einen Code als Hilfe oder Beispiel postest, solltest du darauf achtenn dass er schön zu lesen ist. Dazu wäre Code: [AUSKLAPPEN] Seedrnd Millisecs() For i=1 to 20 Print Rand(0,1) Next Deutlich kürzer gewesen. Naja, Randbemerkung. Falls es den Mods nicht gefällt so mögen sie die letzten Posts löschen. MfG |
||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mal nen kleines Programm gemacht, welches zählt, wie oft ein Wechsel zwischen 0 und 1 stattfindet und wie oft keiner, bei hält es sich ziemlich genau die Waage, also würde ich sagen. Wobei aber auch sein kann, das eshäufig zu solchen Folgen kommt. Aber beste Trick bei Roullet zu gewinnen ist ja den Minimum Einsatz auf Rot zu setzen aus dem Raum zu gehen und warten bis man gerufen wird, weil man das obere Limit überschritten hat ![]() Code: [AUSKLAPPEN] Graphics 640,480,0,2
SetBuffer BackBuffer() old = Rand(0,1) While Not KeyHit(1) x = Rand(0,1) c = c + 1 If x = old Then w = w + 1 old = x Text 10,10,"Gesamte Durchläufe:" + c Text 10,40,"Kein Wechsel:" + w Text 10,70,"Wechsel:" + (c-w) Flip:Cls Wend Edit: Ah da ist mir noch was eingefallen, man könnte ein Programm schreiben, das die verschiedenen langen Ketten zählt, daraus könnte man auch Sachen schlussfolgern, aber ich geh nun Grillen und Whisky trinken so long... |
||
Play Satyr! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group