Wurfberechnung

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Oetzicool

Betreff: Wurfberechnung

BeitragMo, Feb 27, 2006 16:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey ich will ein kleines Wurfprogramm basteln das berechnet wie weit ein Körper fliegen soll und wie lange er braucht bis er aufkommt! Dann will ich das er die Flugbahn zeichnet aber irgendwie funktioniert nach meinem Einbau einer Repeat schleife gar nichts mehr könnt ihr mir vieleicht helfen? Danke!

Code: [AUSKLAPPEN]

Graphics 640,480,32,2
AppTitle "Test"
SetBuffer BackBuffer()

Global winkel=50
Global v=20
Global t#=0
Global t_gesamt#=0
Global g#=9.81
Global sx_a=0
Global sy_a=0
Global sx_n=0
Global sy_n=0
Global x=0
Global y=0
Global abstand=40
Global gesamt_zeit#=0
Global gesamt_weite#=0

;Programmschleife starten
While Not KeyHit(1)



gesamt_zeit = (v*(Sin(winkel))+(((v)^2)*((Sin(winkel))^2))^0.5)/g
gesamt_weite = (v*(Cos(winkel))*(v*(Sin(winkel))+(((v)^2)*((Sin(winkel))^2))^0.5)/g)

t_gesamt#=2*gesamt_zeit

Repeat
t# = t# + 0.1
sx_n = v*(Cos(winkel))*t
sy_n = (v*(Sin(winkel))*t)-(0.5*g*(t*t))
Until t = t_gesamt

Color 255,255,255
Plot sx_n, sy_n


Text 20,20, "Wurfberechnung v1.1"
Text 20,40, "Zeit:"+gesamt_zeit
Text 20,60, "Entfernung:"+gesamt_weite
Text 20,80, "SX:"+sx_n
Text 20,100, "SY:"+sy_n




Flip
Wend
End
 

Schnuff

BeitragMo, Feb 27, 2006 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics 640,480,32,2
AppTitle "Test"
SetBuffer BackBuffer()

Global winkel=50
Global v=20
Global t#=0
Global t_gesamt#=0
Global g#=9.81
Global sx_a=0
Global sy_a=0
Global sx_n=0
Global sy_n=0
Global x=0
Global y=0
Global abstand=40
Global gesamt_zeit#=0
Global gesamt_weite#=0

;Programmschleife starten
While Not KeyHit(1)



gesamt_zeit = (v*(Sin(winkel))+(((v)^2)*((Sin(winkel))^2))^0.5)/g
gesamt_weite = (v*(Cos(winkel))*(v*(Sin(winkel))+(((v)^2)*((Sin(winkel))^2))^0.5)/g)

t_gesamt#=2*gesamt_zeit

Repeat
t# = t# + 0.1
sx_n = v*(Cos(winkel))*t
sy_n = (v*(Sin(winkel))*t)-(0.5*g*(t*t))
Color 255,255,255
Plot sx_n, sy_n
Until t = t_gesamt



Text 20,20, "Wurfberechnung v1.1"
Text 20,40, "Zeit:"+gesamt_zeit
Text 20,60, "Entfernung:"+gesamt_weite
Text 20,80, "SX:"+sx_n
Text 20,100, "SY:"+sy_n




Flip
Wend
End

so besser?
Programmers dont die. They gosub without return...
 

Oetzicool

BeitragMo, Feb 27, 2006 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
danke aber ist es normal das da jetzt ne hyperbel draußgeworden ist?
und kann ich die info zeilen nicht einblenden?
 

Schnuff

BeitragMo, Feb 27, 2006 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe zwar keine ahnung, was raus kommen soll, aber:
Code: [AUSKLAPPEN]


Graphics 640,480,32,2
AppTitle "Test"
SetBuffer BackBuffer()

Global winkel=50
Global v=20
Global t#=0
Global t_gesamt#=0
Global g#=9.81
Global sx_a=0
Global sy_a=0
Global sx_n=0
Global sy_n=0
Global x=0
Global y=0
Global abstand=40
Global gesamt_zeit#=0
Global gesamt_weite#=0

;Programmschleife starten
While Not KeyHit(1)



gesamt_zeit = (v*(Sin(winkel))+(((v)^2)*((Sin(winkel))^2))^0.5)/g
gesamt_weite = (v*(Cos(winkel))*(v*(Sin(winkel))+(((v)^2)*((Sin(winkel))^2))^0.5)/g)

t_gesamt#=2*gesamt_zeit

t=0

Repeat
   t# = t# + 0.1
   sx_n = v*(Cos(winkel))*t
   sy_n = (v*(Sin(winkel))*t)-(0.5*g*(t*t))
   Color 255,255,255
   Plot sx_n, sy_n
Until t >= t_gesamt



Text 20,20, "Wurfberechnung v1.1"
Text 20,40, "Zeit:"+gesamt_zeit
Text 20,60, "Entfernung:"+gesamt_weite
Text 20,80, "SX:"+sx_n
Text 20,100, "SY:"+sy_n




Flip
Cls
Wend
End

Blendet die Info leiste wieder ein!
Programmers dont die. They gosub without return...
 

Oetzicool

BeitragMo, Feb 27, 2006 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
ok hab des mit der hypervel geklärt war nur ein vorzeichen-fehler! Und des mit der Info auch! Danke! Aber wie kann ich es machen das man sieht wie sie in "echtzeit" gemalt wird! Ich habs mit Delay probiert aber dann kommt gar nicht mehr!
 

Schnuff

BeitragMo, Feb 27, 2006 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn dir das reicht:
Code: [AUSKLAPPEN]

Graphics 640,480,32,2
AppTitle "Test"
SetBuffer BackBuffer()

Global winkel=50
Global v=20
Global t#=0
Global t_gesamt#=0
Global g#=9.81
Global sx_a=0
Global sy_a=0
Global sx_n=0
Global sy_n=0
Global x=0
Global y=0
Global abstand=40
Global gesamt_zeit#=0
Global gesamt_weite#=0

;Programmschleife starten
While Not KeyHit(1)



gesamt_zeit = (v*(Sin(winkel))+(((v)^2)*((Sin(winkel))^2))^0.5)/g
gesamt_weite = (v*(Cos(winkel))*(v*(Sin(winkel))+(((v)^2)*((Sin(winkel))^2))^0.5)/g)

t_gesamt#=2*gesamt_zeit

t=0

Repeat
   t# = t# + 0.1
   sx_n = v*(Cos(winkel))*t
   sy_n = (v*(Sin(winkel))*t)-(0.5*g*(t*t))
   Color 255,255,255
   WritePixel sx_n, sy_n,$FFFFFF; ist schneller!
    Flip
Until t >= t_gesamt



Text 20,20, "Wurfberechnung v1.1"
Text 20,40, "Zeit:"+gesamt_zeit
Text 20,60, "Entfernung:"+gesamt_weite
Text 20,80, "SX:"+sx_n
Text 20,100, "SY:"+sy_n




Flip
Cls
Wend
End

ansonsten, setze hinter das flip noch ein delay
(ist zwar nicht so gut aber naja)
Programmers dont die. They gosub without return...
 

Oetzicool

BeitragMo, Feb 27, 2006 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
ok ich probier des mal! Wie kann ich eigenltich eine Abfrage machen ob der Mauszeiger auf der Parabel liegt und die Daten (Also: Geschwindigkeit, Höhe usw.) in einer seperaten InfoBox ausgeben?
 

Schnuff

BeitragMo, Feb 27, 2006 17:15
Antworten mit Zitat
Benutzer-Profile anzeigen
bei dem Rest, weiß ich nicht was du meinst!
(da bin ich der Falsche!)
Code: [AUSKLAPPEN]

Graphics 640,480,32,2
AppTitle "Test"
SetBuffer BackBuffer()

Global winkel=50
Global v=20
Global t#=0
Global t_gesamt#=0
Global g#=9.81
Global sx_a=0
Global sy_a=0
Global sx_n=0
Global sy_n=0
Global x=0
Global y=0
Global abstand=40
Global gesamt_zeit#=0
Global gesamt_weite#=0

;Programmschleife starten
While Not KeyHit(1)



gesamt_zeit = (v*(Sin(winkel))+(((v)^2)*((Sin(winkel))^2))^0.5)/g
gesamt_weite = (v*(Cos(winkel))*(v*(Sin(winkel))+(((v)^2)*((Sin(winkel))^2))^0.5)/g)

t_gesamt#=2*gesamt_zeit

t=0
Schnuff_Maus=0

Repeat
   t# = t# + 0.1
   sx_n = v*(Cos(winkel))*t
   sy_n = (v*(Sin(winkel))*t)-(0.5*g*(t*t))
   Color 255,255,255
   WritePixel sx_n, sy_n,$FFFFFF; ist schneller!
    If Schnuff_Maus=0 And MouseX()=sx_n And MouseY()=sy_n Then Schnuff_Maus=1
    ;Flip 0
Until t >= t_gesamt

If Schnuff_Maus Then Text 20,120,"Maus liegt auf der wurf bahn!"

Text 20,20, "Wurfberechnung v1.1"
Text 20,40, "Zeit:"+gesamt_zeit
Text 20,60, "Entfernung:"+gesamt_weite
Text 20,80, "SX:"+sx_n
Text 20,100, "SY:"+sy_n




Flip
Cls
Wend
End
Programmers dont die. They gosub without return...
 

Oetzicool

BeitragMo, Feb 27, 2006 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
ok vielen dank ich werd dann mal was ausprobieren! Und nochmals Danke für die Hilfe!
Cu

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group