Autor Beitrag
Seyomi
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 14.07.12 21:10 
Hi Leute,

ich wollte mich mal erkundigen, ob es möglich ist mit dem Random-Befehl nur einee bestimmten Bereich festzulegen. Ich brauche das für eine kleines Text-RPG.

RANDOM(10-20);

kann ich es so machen, oder muss ich dazu noch zusätliche Befehle schreiben?

Gruß Seyomi.

P.S. BItte in den Delphi-Bereich verschiebn, habe es ausversehen in den falschen Thread gepostet.

Seyomi


Moderiert von user profile iconChristian S.: Topic aus Basistechnologien verschoben am Sa 14.07.2012 um 21:20


Zuletzt bearbeitet von Seyomi am Sa 14.07.12 21:17, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 14.07.12 21:16 
Hallo!

Das ist in C# ja noch nicht einmal eine gültige Syntax ;-)

Du musst eine Instanz der Random-Klasse erstellen und dann davon die Next-Methode aufrufen.


Das ist in Delphi ja noch nicht einmal eine gültige Syntax ;-)

Du machst Dir mit der Random-Funktion eine Zufallszahl von 0-10 und addierst dann 10 drauf. Damit erhältst Du eine Zufallszahl von 10-20.

Viele Grüße,
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Seyomi Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 14.07.12 21:27 
Danke für den Hinweis.

hoffe, das es damit dann schnell voran geht. Wenn das Projekt fertig ist, werde ich es hier reinstellen.

Seyomi
IhopeonlyReader
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Sa 14.07.12 23:06 
Du kannst dir aber auch eine eigene Funktion dafür schreiben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
Function RandomBereich(Von, Bis: Integer): Integer;
begin
Result := Random(Von)+Bis-Von;
end;


Edit: Diese kannst du natürlich noch bearbeiten, dass sie auch negative oder extended zahlen verwenden kann... geht ja relativ schnell und dass solltest du gut hinkriegen

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 14.07.12 23:46 
@IhopeonlyReader: Das sieht ziemlich falsch aus.

Richtig wäre (ohne es testen zu können, habe kein Delphi installiert):
ausblenden Delphi-Quelltext
1:
 result := random(bis-von+1) + von;					

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Sa 14.07.12 23:54 
Oder du nimmst RandomRange (Unit Math).

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
IhopeonlyReader
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: So 15.07.12 15:29 
ja ok :D mit dem beispiel 10-20 war das ein bisschen verwirrend... aber na klar
ausblenden Delphi-Quelltext
1:
Result := Random(Bis-Von)+Von;					

Warum addierst du einen?
Randorm gibt doch 0-die angegebene Zahl zuück also randrom(3) gibt doch 0,1,2 zurück ,oder?
Wenn man 5 bis 10 sagt, dann gehe ich davon aus, dass man NICHT einschließlich 10 meint... aber wenn man einschl. meint, dann natürlich 1 addieren ;)

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!