![]() |
Delphi-Version: 7
Bei Random werden immer die selben Zahlen ausgespuckt
Also ich will ein böse Eins spiel mit delphi programmieren.
Hier mein Formular(Die Spieler würfeln der Reihe nach mit einem Würfel. Jeder Spieler darf so oft wirfeln wie er will. Die Augen aus den einzelnen Würfen werden notiert. Wirft man jedoch eine Eins, werden die Augen der jeweiligen Runde ungültig. Sieger ist, wer als erster 50 Punkte hat.) ![]() Hier mein Quelcode
Delphi-Quellcode:
Immer wenn ich auf Würfeln gehe kommt am anfang eine eins und der andere spieler ist dran(noch nicht ganz fertig)
unit u_boese_eins;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, XPMan, StdCtrls; type TForm1 = class(TForm) b_wuerfeln: TButton; l_summe1: TLabel; XPManifest1: TXPManifest; Label1: TLabel; l_gewuerfelte_zahl1: TLabel; Label3: TLabel; Label4: TLabel; b_wuerfeln2: TButton; l_summe2: TLabel; Label6: TLabel; l_gewuerfelte_zahl2: TLabel; Label8: TLabel; Label9: TLabel; b_aufhoeren: TButton; b_aufhoeren2: TButton; procedure b_wuerfelnClick(Sender: TObject); procedure b_aufhoerenClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; zahl1,zahl2,summe1,summe2,falls1:integer; implementation {$R *.dfm} procedure TForm1.b_wuerfelnClick(Sender: TObject); begin zahl1:=random(6)+1; l_gewuerfelte_zahl1.Caption:=IntToStr(zahl1); If zahl1=1 Then begin summe1:=0; l_summe1.Caption:=IntToStr(summe1); b_wuerfeln.enabled := false; end else begin summe1:=summe1+zahl1; l_summe1.Caption:=IntToStr(summe1); end; end; procedure TForm1.b_aufhoerenClick(Sender: TObject); begin b_wuerfeln.enabled := false; end; end. procedure TForm1.FormCreate(Sender: TObject); begin randomize; end; end. wie bekomme ich es hin, dass am anfang wirklich zufällig ausgelost wird |
AW: Bei Random werden immer die selben Zahlen ausgespuckt
Guten Abend,
rufe randomize in der projekt1.dpr auf. Wie oft hast Du denn getestet? Kommt wirklich nie eine andere Zahl als erstes? Grüße Klaus |
AW: Bei Random werden immer die selben Zahlen ausgespuckt
Da ich TForm1.FormCreate nichtmal in der Deklaration von TForm1 finde und der gezeigte Code nichtmal dein vollständiger Originalcode sein kann .... bist du sicher, daß dieses auch aufgerufen/ausgeführt wird?
PS: Was machen die Variablen
Delphi-Quellcode:
überhaupt im globalen Bereich?
zahl1,zahl2,summe1,summe2,falls1:integer;
Globale sollten möglichst vermieden werden, abgesehn davon, daß diese Variablen nur lokal in b_wuerfelnClick verwendet werden ... also gehören diese auch dort hinein. |
AW: Bei Random werden immer die selben Zahlen ausgespuckt
Also ich habe es bestimmt 30-40mal probiert, ja ich kann das formular ausführen....quelltext mit str+a reinkopiert
|
AW: Bei Random werden immer die selben Zahlen ausgespuckt
|
AW: Bei Random werden immer die selben Zahlen ausgespuckt
So hab die variablen in den lokalen bereich getan, problem besteht noch immer
|
AW: Bei Random werden immer die selben Zahlen ausgespuckt
Was himitsu vielleicht meinte.
Delphi-Quellcode:
Grüße
type
TForm1 = class(TForm) procedure FormCreate(Sender: TObject); // das steht bei Dir nicht in der Deklaration private { Private declarations } public { Public declarations } end; Klaus |
AW: Bei Random werden immer die selben Zahlen ausgespuckt
Wie rufe ich randomize in der projekt1.dpr auf, wie deklariere ich FormCreate?
|
AW: Bei Random werden immer die selben Zahlen ausgespuckt
Zitat:
Zitat:
|
AW: Bei Random werden immer die selben Zahlen ausgespuckt
So Deklarierung hab ich soweit geschafft ... jetzt kommt bei der summe riesige zahlen
nur weiß ich nicht genau was ich bei dem angezeigten quelltext eintragen soll... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:12 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-2025 by Thomas Breitkreuz