Float und Rand (von , bis)

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Mathias-Kwiatkowski

Betreff: Float und Rand (von , bis)

BeitragSo, Feb 12, 2012 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
hi habe nun eine frage

Code: [AUSKLAPPEN]

Speed:Float= 0.5
SpeedMaximal:Float= 1.0

WirklicherSpeed:Float=Rand (Speed, SpeedMaximal)


meine ausgabe ist entweder 0 oder 1
aber wie bekomme ich den sogenannten zwischen wert z.b. 0.8
bzw mindestens 0.5 maximal 1.0

ChaosCoder

BeitragSo, Feb 12, 2012 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau dir den Befehl BlitzMax: [AUSKLAPPEN]
Rnd(Speed, SpeedMaximal)
an
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

SamFisher

BeitragSo, Feb 12, 2012 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich meine Rand gibt nur ganze Zahlen aus!! Benutze am besten Rnd dafür
 

PhillipK

BeitragSo, Feb 12, 2012 22:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Befehl Rand gibt dir eine Integer zahl zurück.
Der Befehl Rnd gibt dir eine double-zahl zurück.

Eine Double-zahl kannst du im prinzip wie ein Float verwenden.

Willst du also Tatsächliche Float variable erhalten, gibt es 2 wege.
1) Dir ist hohe genauigkeit wichtig.
BlitzMax: [AUSKLAPPEN]

Local Speed:Float= 0.5
Local SpeedMaximal:Float= 1.0

Local WirklicherSpeed:Float=Rnd (Speed, SpeedMaximal)


2) Du beabsichtigst nur eine gewisse anzahl an nachkommastellen zu berücksichtigen:
BlitzMax: [AUSKLAPPEN]

Local Speed:Float= 0.5
Local SpeedMaximal:Float= 1.0
Local faktor:Int = 1000 'um zb auf die ersten 3 nachkommastellen zu 'brechen'

Local WirklicherSpeed:Float=Rand (Speed*faktor, SpeedMaximal*faktor) / Float(faktor) 'beachte: faktor muss auf float gecastet werden, da sonst du integer multiplikation / division wieder ein wert zwischen 0 und 1 rauskommt.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group