Rnd mit Kommazahlen?
Übersicht

![]() |
DeVILBetreff: Rnd mit Kommazahlen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey Leute
Ich würde in meinem Programm gerne eine zufällige Kommazahl generieren allerdings bringt Rnd nur ganze zahlen hervor Ich habe es mit (Rnd(250,300)/100) Probiert Seltsamerweise geht das auch nicht!?! Oder muss man die Variable erst als Kommazahl definieren? Wenn ja wie? |
||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
entweder du änderst es in:
(Rnd(250,300)/100.0) oder einfach wert#=Rnd(2.5,3) |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Rand![]() ![]() Code: [AUSKLAPPEN] Local ganzzahl%
Local fliessen# For Q=1 To 10 ganzzahl=Rnd(0,300)/100 fliessen=Rnd(0,300)/100 Print "Ganzzahl: "+ganzzahl+" Fliessen: "+fliessen Next WaitKey End |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
DeVIL |
![]() Antworten mit Zitat ![]() |
---|---|---|
Beide vorschläge ändern nichts...
vll hilft es wenn ich den ganzen code poste Code: [AUSKLAPPEN] Graphics 800,600 Flocke = LoadImage("Flocke.bmp") MaskImage Flocke,255,0,255 Timer = MilliSecs() Type Schneeflocke Field x,y Field Winkel Field Speed# End Type SetBuffer BackBuffer() Repeat If MilliSecs() > Timer + 10 s.Schneeflocke = New Schneeflocke s\x = Rnd(-800,800) s\y = -10 If s\x < -10 s\x = -10 s\y = Rnd(0,1050) EndIf s\Winkel = 50 s\Speed = Rnd(2.5,3.2) Timer = MilliSecs() EndIf For s.Schneeflocke = Each Schneeflocke DrawImage Flocke,s\x,s\y s\x = s\x + Cos(s\winkel)*s\Speed s\y = s\y + Sin(s\winkel)*s\Speed Next Flip Cls Until KeyHit(1) |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Doch, mein Vorschlag ändert was, wenn man die entsprechende Variable als Float deklariert.
Code: [AUSKLAPPEN] Field x#,y#
|
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
DeVIL |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja schon nur leider können koordinaten doch keine Floats sein oder doch?
EDIT: Wenn ich die koodinaten als Float Deklariere Funtioniert es zwar allerdings vibrieren die Flocken so komisch XD |
||
- Zuletzt bearbeitet von DeVIL am Di, Nov 11, 2008 16:18, insgesamt einmal bearbeitet
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
deine "koordinaten" sind auch nur stink normale variablen.. bei den bildern fallen einfach die kommawerte weg. | ||
![]() |
DeVIL |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja das meinte ich ja auch
Aber wie kann ich die Geschwindigkeit den variieren? Schneller als 3 dürfen sie auf jedenfall nicht sein allerdings soll trotzdem ein geschwindigkeitsunterschied da sein |
||
DjDETE |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du weist doch, dass die koordinaten in Pixeln angegeben werden, oder?
Wie soll also etwas auf dem 2,3237897813 Pixel auf deinem Monitor angezeigt werden? MfG DeTe |
||
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden. |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei DrawImage erwartet Blitz Integer und wandelt die angegebenen Variablen automatisch in Ganzzahlen um.
So macht es keinen Unterschied, ob man "123einszweidrei", 123.4321 oder 123 schreibt, das wird einfach in den erwarteten Datentyp umgewandelt - folglich ist es egal, ob man bei DrawImage Float- oder Integervariablen benutzt. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
DeVIL |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm naja ok
Trotzdem danke für die Hilfe |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Unter 2D kann Blitz nicht zwischen den Pixel Bilder anzeigen. Wie bereits angesprochen wandelt Blitz dann beim zeichnen der Bilder intern in Integer um. Trotzdem muß bei so einer Animation die Koordinate in Float gespeichert werden, weil, wenn die Geschwindigkeit zum Beispiel 0.4 ist und dieser Wert immer wieder auf eine Integer hinzuaddiert wird, bleibt diese denoch immer 0, da Integer den Zwischenschritt 0.4...0.8...1.2 nicht speichern kann. Der Grund warum das bei dir so ''komisch vibriert'' ist einfach dann das Aufrunden auf ganze Pixel, was DrawImage eben machen muß.
Falls du Blitz3D hast, klicke mal auf meine Signatur... |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group