![]() |
Random Befehl spielt verrückt
Hallo
habe ein Problem mit dem Randombefehl er soll eine Beliebige Zahl zwischen 1 und 6 anzeigen, jedoch zeigt er 6 nie an und manchmal zeigt er gar nichts an hier der source:
Delphi-Quellcode:
danke im Voraus
procedure TForm2.FormCreate(Sender: TObject);
var f : integer; begin randomize; f:=random(6); if f=1 then showmessage('1') else if f=2 then showmessage('2') else if f=3 then showmessage('3') else if f=4 then showmessage('4') else if f=5 then showmessage('5') else if f=6 then showmessage('6') end; |
Re: Random Befehl spielt verrückt
:wink:
random(6) => 0..5 mach also random(6) + 1, wenn du Zahlen von 1 bis 6 willst! |
Re: Random Befehl spielt verrückt
danke, das war der eine Fehler, aber der Fehler, dass er nichts anzeigt bleibt leider
:(:(:(:( |
Re: Random Befehl spielt verrückt
Besser mit Random(6) + 1 ;)
|
Re: Random Befehl spielt verrückt
Richtig, mit
Delphi-Quellcode:
müsste es eigendlich klappen.
Random(6) + 1;
Da man soweit ich weiß mit Random(6) alleine keine 6 erzeugen kann, sondern höchstens eine 5, da es im Zwischenbereich liegen muss. mfG, Nico |
Re: Random Befehl spielt verrückt
Benutze statt der Funktion random(6) lieber randomrange(1,6).
Random(6) liefert Dir Zufallswerte zwischen 0 und 6(!). Außerdem solltest Du den Generator initialisieren, mit Randomize. Falls es RandomRange nicht gibt:
Delphi-Quellcode:
a:= Round(Random(5) + 1);
|
Re: Random Befehl spielt verrückt
dann zeigt er mir wieder keine 6 an :?:
und wenn ich (7)+1 eingebe zeigt er mir wieder manchmal nichts an edit// ich habe ihn doch eh mit randomize initialisiert, oder? |
Re: Random Befehl spielt verrückt
Mit
random(6)+1 müsste er eigendlich auch eine 6 anzeigen. edit: @ abrosda: randomize hat er benutze, zumindest oben im Beispiel :-D |
Re: Random Befehl spielt verrückt
Jetzt nimm schon endlich Random(6) + 1 :stupid:
|
Re: Random Befehl spielt verrückt
Zitat:
Zitat:
Zitat:
Zitat:
Delphi-Quellcode:
muss funktionieren.
f := Random (6) + 1;
|
Re: Random Befehl spielt verrückt
Richtig,
ansonsten würde ich es mal mit einem Neustart versuchen :wink: |
Re: Random Befehl spielt verrückt
Jupp sorry, hab den Quellcode nur halb gelesen :stupid:
Nimm RandomRange(1,6), wenn vorhanden, oder probier es mit: f := Round(Random(6)+1); und wenn immer noch Werte fehlen, bau noch einen else Zweig ein und lass Dir den Wert anzeigen... |
Re: Random Befehl spielt verrückt
@ deddyH wem sagst du das, dem Rechner kann ich leider nichts eintrichtern und ich weiß gerade nicht wo der Hammer ist
|
Re: Random Befehl spielt verrückt
Außerdem:
Delphi-Quellcode:
bewirkt das gleiche wie:
if f=1 then
showmessage('1') else if f=2 then showmessage('2') else if f=3 then showmessage('3') else if f=4 then showmessage('4') else if f=5 then showmessage('5') else if f=6 then showmessage('6')
Delphi-Quellcode:
:wink:
ShowMessage(IntToStr(f));
|
Re: Random Befehl spielt verrückt
Delphi-Quellcode:
randomize;
f:=random(6)+1; showmessage(inttostr(f)); |
Re: Random Befehl spielt verrückt
Das round() kannst Du Dir übrigens sparen, wenn Du eine Range angibst. Außerdem, wenn schon Fallunterscheidung, dann mit case ;)
|
Re: Random Befehl spielt verrückt
mit
Delphi-Quellcode:
funktioniert es
f:= Round(Random(6)+1);
@DeddyH wie meinst du das mit einer Rangeangabe |
Re: Random Befehl spielt verrückt
Ich meine damit den Parameter. Random(6) ergibt eine ganze Zahl zwischen 0 und 5. Random() ergibt eine reelle Zahl zwischen 0 und 1. Steht alles in der Hilfe ;)
|
Re: Random Befehl spielt verrückt
mumpitz gelöscht. thread nicht zuende gelesen :)
|
Re: Random Befehl spielt verrückt
Zitat:
Delphi-Quellcode:
funktionieren. Random liefert doch ne ganze Zahl zurück, da sollte doch "Round" völlig egal sein? :gruebel:
f := Random(6) + 1;
|
Re: Random Befehl spielt verrückt
Schau mal unter #16 :-D
|
Re: Random Befehl spielt verrückt
Ohne Parameter gibt Round eine Fließkommazahl zwiscehn 0 und 1 aus.
Find's übrigens interessant wie oft hier hintereinander die selbe Antwort genannt wurde :stupid: |
Re: Random Befehl spielt verrückt
Zitat:
|
Re: Random Befehl spielt verrückt
Zitat:
|
Re: Random Befehl spielt verrückt
Zitat:
Zitat:
Zitat:
|
Re: Random Befehl spielt verrückt
[OT] :lol: Nu is aber auch mal gut, gell? :zwinker: [/OT]
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 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