AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Bei Random werden immer die selben Zahlen ausgespuckt
Thema durchsuchen
Ansicht
Themen-Optionen

Bei Random werden immer die selben Zahlen ausgespuckt

Ein Thema von h4rDc0r34LFi · begonnen am 26. Nov 2010 · letzter Beitrag vom 26. Nov 2010
Antwort Antwort
Seite 1 von 2  1 2      
h4rDc0r34LFi

Registriert seit: 26. Nov 2010
7 Beiträge
 
#1

Bei Random werden immer die selben Zahlen ausgespuckt

  Alt 26. Nov 2010, 20:04
Delphi-Version: 7
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.)
http://www9.picfront.org/token/Yjxp/...26/1894133.png
Hier mein Quelcode
Delphi-Quellcode:
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.
Immer wenn ich auf Würfeln gehe kommt am anfang eine eins und der andere spieler ist dran(noch nicht ganz fertig)
wie bekomme ich es hin, dass am anfang wirklich zufällig ausgelost wird
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Bei Random werden immer die selben Zahlen ausgespuckt

  Alt 26. Nov 2010, 20:09
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
Klaus

Geändert von Klaus01 (26. Nov 2010 um 20:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.119 Beiträge
 
Delphi 12 Athens
 
#3

AW: Bei Random werden immer die selben Zahlen ausgespuckt

  Alt 26. Nov 2010, 20:10
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 zahl1,zahl2,summe1,summe2,falls1:integer; überhaupt im globalen Bereich?
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (26. Nov 2010 um 20:13 Uhr)
  Mit Zitat antworten Zitat
h4rDc0r34LFi

Registriert seit: 26. Nov 2010
7 Beiträge
 
#4

AW: Bei Random werden immer die selben Zahlen ausgespuckt

  Alt 26. Nov 2010, 20:13
Also ich habe es bestimmt 30-40mal probiert, ja ich kann das formular ausführen....quelltext mit str+a reinkopiert
  Mit Zitat antworten Zitat
h4rDc0r34LFi

Registriert seit: 26. Nov 2010
7 Beiträge
 
#5

AW: Bei Random werden immer die selben Zahlen ausgespuckt

  Alt 26. Nov 2010, 20:14
Formularbildlink down, hier neu:
http://img641.imageshack.us/img641/2975/formular.png
  Mit Zitat antworten Zitat
h4rDc0r34LFi

Registriert seit: 26. Nov 2010
7 Beiträge
 
#6

AW: Bei Random werden immer die selben Zahlen ausgespuckt

  Alt 26. Nov 2010, 20:15
So hab die variablen in den lokalen bereich getan, problem besteht noch immer
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Bei Random werden immer die selben Zahlen ausgespuckt

  Alt 26. Nov 2010, 20:18
Was himitsu vielleicht meinte.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject); // das steht bei Dir nicht in der Deklaration
  private
    { Private declarations }
  public
    { Public declarations }
  end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
h4rDc0r34LFi

Registriert seit: 26. Nov 2010
7 Beiträge
 
#8

AW: Bei Random werden immer die selben Zahlen ausgespuckt

  Alt 26. Nov 2010, 20:22
Wie rufe ich randomize in der projekt1.dpr auf, wie deklariere ich FormCreate?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Bei Random werden immer die selben Zahlen ausgespuckt

  Alt 26. Nov 2010, 20:25
Zitat:
Wie rufe ich randomize in der projekt1.dpr auf,
Unter Projekt->Quelltext anzeigen, und dann dort eintragen
Zitat:
wie deklariere ich FormCreate?
Bei den Ereignissen der Formularklasse Doppelklick bei onCreate
Markus Kinzler
  Mit Zitat antworten Zitat
h4rDc0r34LFi

Registriert seit: 26. Nov 2010
7 Beiträge
 
#10

AW: Bei Random werden immer die selben Zahlen ausgespuckt

  Alt 26. Nov 2010, 20:33
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...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:11 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