Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Fragen zur Funktion Random
Seyomi - Sa 14.07.12 21:10
Titel: Fragen zur Funktion Random
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
Christian S.: Topic aus Basistechnologien verschoben am Sa 14.07.2012 um 21:20
Christian S. - 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
Seyomi - 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 - Sa 14.07.12 23:06
Du kannst dir aber auch eine eigene Funktion dafür schreiben:
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
Christian S. - 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):
Delphi-Quelltext
1:
| result := random(bis-von+1) + von; |
Martok - Sa 14.07.12 23:54
Oder du nimmst RandomRange (Unit Math).
IhopeonlyReader - So 15.07.12 15:29
ja ok :D mit dem beispiel 10-20 war das ein bisschen verwirrend... aber na klar
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 ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!