![]() |
Randomize in einer klasse will nicht wie ich
Ich habe eine Klasse geschrieben die vorerst nur einen würflen simulieren soll und diese klasse wird von 5 andersnamigen "würfeln" benutz. wenn ich diesen prozess jedoch aufrufe sind alle ergebnisse gleich. was kann man da machen?
Code:
und in der klasse sieht das so aus:
Wuerfel1, Wuerfel2, Wuerfel3, Wuerfel4, Wuerfel5, Wuerfel6 :TWuerfel;
implementation {$R *.dfm} procedure TForm1.AnzeigeAktualisieren; begin Dice1label.Caption := IntToStr(Wuerfel1.GetWuerfelzahl); Dice2label.Caption := IntToStr(Wuerfel2.GetWuerfelzahl); Dice3label.Caption := IntToStr(Wuerfel3.GetWuerfelzahl); Dice4label.Caption := IntToStr(Wuerfel4.GetWuerfelzahl); Dice5label.Caption := IntToStr(Wuerfel5.GetWuerfelzahl); end; procedure wuerfeln(nummer : integer); begin case nummer of 1 : Wuerfel1.Wuerfeln; 2 : Wuerfel2.Wuerfeln; 3 : Wuerfel3.Wuerfeln; 4 : Wuerfel4.Wuerfeln; 5 : Wuerfel5.Wuerfeln; end; end; procedure TForm1.WuerfelnBtnClick(Sender: TObject); var i : integer; begin for i := 1 to 6 do wuerfeln(i); AnzeigeAktualisieren; end;
Code:
procedure TWuerfel.Wuerfeln;
begin randomize; Wuerfelzahl := Random(5)+1; end; |
Re: Randomize in einer klasse will nicht wie ich
Man sollte Randomize nur einmal aufrufen, d.h. nicht jedesmal beim Würfeln.
Führe doch einfach einen Conctructor ein, der das Randomize erledigt, dann sollte das funktionieren. |
Re: Randomize in einer klasse will nicht wie ich
randomize sollte man nur einmal im Programm aufrufen. Also einfach im OnCreate des Forms einmal Randomize aufrufen und dann nie wieder.
|
Re: Randomize in einer klasse will nicht wie ich
wenn das unser lehrer uns mal erzählt hätte Rolling Eyes .
Aber könnt ihr mir sagen warum man es nur einmal aufrufen soll? |
Re: Randomize in einer klasse will nicht wie ich
Zitat:
randomize initialisiert den Zahlengenerator mit der systemzeit, wenn du das ständig machst, sind deine zufallszahlen vorhersagbar ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz