Zufall wiederholt sich??
:wall: Mal ne frage ich habe jetz endlich ein Programm das Zufallszahlen auswirft.
Nun habe ich das Problem das sich die Zufalls zahlen wiederholen, vor allem wenn ich das programm aus mache und wider neu starte kommen jedesmal beim ersten Zufallsrechnen die selben zahlen raus. (doch nicht alles so zufällig???) Was kann ich da machen, wie mach ich es so das wirklich immer neue zahlen bzw. zahlen kombinationen rauskommen?? [edit=Jelly]Bei deinem Code handelt es sich nicht um .NET Code, daher hab ich mal das Ganze wieder unter Delphi Wind32 umgestellt. Mfg, Jelly[/edit] |
Re: Zufall wiederholt sich??
Hast du an randomize gedacht? Diesen Befehl, der den Startwert der Zufallsfunktion zufällig setzt und einmal zu Programmbeginn aufgerufen werden soll?
|
Re: Zufall wiederholt sich??
Wie der Zufall so spielt, kann es durchaus sein, das er oft beim Start des Progs die selbe Zahl angibt...ist mir auch schon passiert... :)
|
Re: Zufall wiederholt sich??
...was allerdings die Ausnahme sein sollte wenn man beim Programmstart
Delphi-Quellcode:
aufruft ;)
randomize;
|
Re: Zufall wiederholt sich??
Zitat:
Ja klar habe ich das gemach, aber dennoch ist bei jedem start der programms immer die selbe zahlen folge. immer ich habe es jetzt schon 50 mal probiert, die zahlen werden immer gleich berechnet |
Re: Zufall wiederholt sich??
Zitat:
Rufst du
Delphi-Quellcode:
auch nur einmal auf?
Randomize;
Ansonsten zeig doch mal etwas Code. |
Re: Zufall wiederholt sich??
Zitat:
So klappt das jetz ich habe 2 mal randomize benutzt!!!! ein mal:
Delphi-Quellcode:
und dann noch direkt in der Prozedur wo dann die zahlen notiert werden:
var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.CreateForm(Sender: TObject); begin Randomize; end; ......
Delphi-Quellcode:
Das klappt jetz so!!
procedure TForm1.Zufall(Sender: TObject);
const nZ181 = 7; nz182 = 9; nz183 = 9; sZ181 = 7; sz182 = 9; sz183 = 9; nZ261 = 7; nz262 = 9; nz263 = 9; sZ261 = 7; sz262 = 9; sz263 = 9; nZ341 = 7; nz342 = 9; nz343 = 9; sZ341 = 7; sz342 = 9; sz343 = 9; nZ421 = 7; nz422 = 9; nz423 = 9; sZ421 = 7; sz422 = 9; sz423 = 9; nZ491 = 7; nz492 = 9; nz493 = 9; sZ491 = 7; sz492 = 9; sz493 = 9; nZ581 = 7; nz582 = 9; nz583 = 9; sZ581 = 7; sz582 = 9; sz583 = 9; nZ661 = 7; nz662 = 9; nz663 = 9; sZ661 = 7; sz662 = 9; sz663 = 9; nZ741 = 7; nz742 = 9; nz743 = 9; sZ741 = 7; sz742 = 9; sz743 = 9; nZ821 = 7; nz822 = 9; nz823 = 9; sZ821 = 7; sz822 = 9; sz823 = 9; begin Randomize; NSpin18.Text:=IntToStr(Random(nz181))+','+IntToStr(Random(nz182))+IntToStr(Random(nz183)); SSpin18.Text:=IntToStr(Random(sz181))+','+IntToStr(Random(sz182))+IntToStr(Random(sz183)); NSpin26.Text:=IntToStr(Random(nz261))+','+IntToStr(Random(nz262))+IntToStr(Random(nz263)); SSpin26.Text:=IntToStr(Random(sz261))+','+IntToStr(Random(sz262))+IntToStr(Random(sz263)); NSpin34.Text:=IntToStr(Random(nz341))+','+IntToStr(Random(nz342))+IntToStr(Random(nz343)); SSpin34.Text:=IntToStr(Random(sz341))+','+IntToStr(Random(sz342))+IntToStr(Random(sz343)); NSpin42.Text:=IntToStr(Random(nz421))+','+IntToStr(Random(nz422))+IntToStr(Random(nz423)); SSpin42.Text:=IntToStr(Random(sz421))+','+IntToStr(Random(sz422))+IntToStr(Random(sz423)); NSpin49.Text:=IntToStr(Random(nz491))+','+IntToStr(Random(nz492))+IntToStr(Random(nz493)); SSpin49.Text:=IntToStr(Random(sz491))+','+IntToStr(Random(sz492))+IntToStr(Random(sz493)); NSpin58.Text:=IntToStr(Random(nz581))+','+IntToStr(Random(nz582))+IntToStr(Random(nz583)); SSpin58.Text:=IntToStr(Random(sz581))+','+IntToStr(Random(sz582))+IntToStr(Random(sz583)); NSpin66.Text:=IntToStr(Random(nz661))+','+IntToStr(Random(nz662))+IntToStr(Random(nz663)); SSpin66.Text:=IntToStr(Random(sz661))+','+IntToStr(Random(sz662))+IntToStr(Random(sz663)); NSpin74.Text:=IntToStr(Random(nz741))+','+IntToStr(Random(nz742))+IntToStr(Random(nz743)); SSpin74.Text:=IntToStr(Random(sz741))+','+IntToStr(Random(sz742))+IntToStr(Random(sz743)); NSpin82.Text:=IntToStr(Random(nz821))+','+IntToStr(Random(nz822))+IntToStr(Random(nz823)); SSpin82.Text:=IntToStr(Random(sz821))+','+IntToStr(Random(sz822))+IntToStr(Random(sz823)); end; |
Re: Zufall wiederholt sich??
Randomize sollte nur ein einziges Mal beim Programmstart aufgerufen werden!
|
Re: Zufall wiederholt sich??
Er hat aber geschrieben, das es erst ging, nachdem er es ein zweites mal geschriebne hat.
|
Re: Zufall wiederholt sich??
Es ist aber trotzdem Schwachsinn, es kann sogar das Ergebnis verfälschen...
Als ich das vergleichsweise in Basic (ja schlagt mich) geschrieben hab hab ich ne 40%-ige Häufung auf 5-en bei ner Würfelsim... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz