Autor Beitrag
Syngel Kid
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61

Win XP
Delphi 2005
BeitragVerfasst: Mo 15.08.05 17:55 
Hallo!

Ich möchte mal mit Delphi mein erstes Spiel proggen!

Ich habe da auch schon eine Idee; Es soll sich um eine eigene Version von "Cannon Hill" handeln. Cannon Hill ist Freeware und man findet es sich über Google. Es geht darum, dass sich bis zu 4 Bunker auf einer 2D Landschaft bekämpfen. Nach jeder Runde kriegt man Geld um neue Waffen zu kaufen - Je besser man war, desto mehr Geld kriegt man.

Davon möchte ich eine eigene Version basteln.
Mir fallen da auch schon einige Dinge ein, wie ich das am besten anstelle. Nur eines will mir nicht in den Kopf: Die physikalischen Gesetze. Z.b. wenn Säure an einen Berg geschossen wird, dass sie dann auch runterläuft. Oder schon nur, wie sich ein Schuss in der Luft verhält. Also der Bogen.
Noch schwieriger wird es wenn andere Objekte z.B. eine Rakete beeinflussen (In Cannon Hill den Magneten, der die Rakete vom Bunker abstösst).


Fazit: Wie baue ich am besten die Anziehungskraft und andere physikalischen Gesetze ein?


Besten Dank für Antworten!


MfG Syngel
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mo 15.08.05 17:59 
ich weiß jetzt nicht ob das das richtige forum dafür ist

im endeffekt musste dir halt nur alle formeln besorgen
für einen kanonenschuss nimmste am besten die parabelform

ax²+bx+c // a < 0

mit dem anfangswert und der geschwindigkeit kannste dann einen hochpunkt bestimmen und dann die parameter a,b,c ausrechnen und anschließend die kugel zeichnen

wenn du von dem urspung ausgehst fällt c dabei sogar raus
alles andere mussu halt selbst mal bei google in erfahrung bringen

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mo 15.08.05 18:12 
Nun. Dazu solltest du ... Physik in der Oberstufe haben :)
Ansich ist es ganz leicht eine Flugbahn zu berechnen. AbschussEnergie, Gewicht des Projektils udn Winkel reichen. Du berechnest als erstes, welche horizontale Energie das Projektil hat:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
       __b__
      |   /|   
      |  / |
     a| /x |a
      |/   |
      /-----
_____#____b

Die # ist der Bunker. x ist der Abschusswinkel und die Energie (Als länge!). nun ist b die Horizontale Energie (als Länge). Berechnen kannst du nun a mit dem Cosinus:
cos(alpha)=b/x |*x
b=cos(alpha)*x
Diese horizontale Energie bestimmt nun die Bewegung deines Projektils in der Horizontalen achse. Die Geschwindigkeit bleibt (wenn du wind und Luftwiderstand komplett weglässt) immer konstant bis zum Aufprall.
Nun berechnest du noch a mit dem Sinus auf die gleiche art wie b. Dadurch erhälst du die Höhenenergie, die bestimmt, wie weit sich das Projektil nach oben bewegen kann.

Das ist schonmal ein Ansatz, aber wir haben Ferien und ich bin mir nicht sicher, in wie fern auf mein Wissen verlass ist. Viel Glück!

edit
Ach ja: Vergiss die Gravitation nicht ( ^^' ) Wenn die Kugel am höchsten Punkt angekommen ist, beschleunigt sie senkrecht mit 9,81 m/s² (Meter pro sekunde im Quadrat) nach unten. Das ist die Erdbeschleunigungskonstante (Zumindest der Druchschnitt)

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Phobeus
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1280

Linux (FC6), WinXP Pro (Box)
D6 Pers, D7 Pro, FPC 2.x
BeitragVerfasst: Mo 15.08.05 19:58 
Im Prinzip haben die anderen Recht. Das Physikbuch hilft gerade im 2D-Bereich definitiv bereits weiter. Allerdings würde ich keineswegs damit anfangen die Werte aus dem Buch zu übernehmen. Erzeuge Dir eine Klasse TWorld, die alle Objekt aufnimmt, die in deiner Welt vorkommen (Spieler, Schüsse). Die Klasse übernimmt auch die Bewegung der Geschosse und berechnet bei jedem "Tick" dessen Bewegung an Hand von Parametern. So drückt ein starker Wind das Geschoss in eine Richtung in horizontaler Lage, während die Gravitation langsam und unnachgiebig nach unten zieht. So kannst Du dann auch leicht Anpassungen vornehmen wie die Schlacht auf einer Welt mit geringer Schwerkraft aussieht oder halt mit sehr starken Wind, was mit wenig Anpassung eine Menge Spielspass garantieren wird. Auch wird die Problematik nicht mehr so komplex, wenn Du eine zentrale Klasse hast, die das Mangement für die Bewegungen übernimmt. Eine Rakete z.B. ist halt schnell und unterliegt daher zwar der Schwerkraft, aber nicht dem Wind. Der Physiker wird lachend am Boden liegen, der Spieler dankt es.
Was das mit dem "Abrallen" angeht, so wird es schwieriger. Alte Spiele in dieser Richtung wie ScorchedEarth haben es sehr simple gemacht. Dort wurde einfach jede Linie mit Pixeln gefüllt, bis die Farbe X von Boden kam, dann die nächste. Nach X Pixeln war der Vorgang abgeschlossen. Welche Technik man hier anwendet, hängt wohl vorwiegend davon ab, in welcher Form die Geländestrukturen gespeichert sind.
Dies nur nochmal als Ergänzung zu den anderen... bei der Physik werden die definitiv besser bescheid wissen als ich es jemals könnte ;-)

_________________
"Menschen sterben nicht wenn man sie zu Grabe trägt, sondern wenn sie ihre Träume verlieren..."
DaRkFiRe
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 526

WinXP Home & Professional
C, C++, Delphi
BeitragVerfasst: Di 16.08.05 10:38 
WIESO um alles in der Welt hilft dir das Schulphysikbuch gerade in der 2D-Welt nicht weiter??? Gerade in der Schule beschränkt sich wegen der Vorstellungskraft und Veranschaulichung der Modelle alles auf den 2D-Raum!

Übrigens gibt es komplette Formeln für ballistische Kurven im Netz - sogar mit Windbeeinflussung. Ein bisschen von Physik und Mathematik sollte man dann allerdings schon verstehen!

_________________
Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
noidic
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 851

Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
BeitragVerfasst: Di 16.08.05 10:51 
Da steht doch, dass es weiter hilft ???

_________________
Bravery calls my name in the sound of the wind in the night...
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Di 16.08.05 15:06 
user profile iconPhobeus hat folgendes geschrieben:
Das Physikbuch hilft gerade im 2D-Bereich definitiv bereits weiter.

Hast dich wohl verlesen, was? x) Tjaja, so kommts.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
DaRkFiRe
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 526

WinXP Home & Professional
C, C++, Delphi
BeitragVerfasst: Di 16.08.05 15:37 
Ja ja, morgen ist erst der Termin beim Optiker.

Vernäht und zugeflixt! Asche auf mein Haupt!

_________________
Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
Syngel Kid Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61

Win XP
Delphi 2005
BeitragVerfasst: Mi 17.08.05 11:15 
Welches Physikbuch?

Habe noch nicht Physik, komme jetzt in die 8. Klasse...

Ist das in Deutschland auch so?

Naja sind halt wir Schweizer :lol:
OneOfTen
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 17.08.05 13:05 
user profile iconSyngel Kid hat folgendes geschrieben:
Welches Physikbuch?

Habe noch nicht Physik, komme jetzt in die 8. Klasse...

Ist das in Deutschland auch so?

Naja sind halt wir Schweizer :lol:


lool, dann warte noch ein paar jährchen. der schiefe wurf wurde glaub ich in klasse 10 behandelt, wenn ich mich recht erinnere ;-)
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 17.08.05 18:05 
ähm ich hab die elfte in Dt hinter mir. Aber... Nun, wir HÄTTEN ihn behandelt, aber unser dämlicher Lehrer hats für nötig befunden, lieber aus dem Nähkästchen zu plaudern und als er dann gemerkt, hat, dass wir nich genug Zeit für den Stoff hatten, hat er gemein "jaaa wenn IIHR nur besser mitmachen würdet O_o" ...
Sorry wegen dem Offtopic... Aber ich glaube diese Physikalischen Gesetze findest du zwar auch im internet, aber dazu ist ordentlich Grundwissen nötig... Ich wikipedia mal kurz...
hier! de.wikipedia.org/wiki/Waagrechter_Wurf wenn du da durchblickst, dann bist du ein großes stück weiter! Musst dann nur noch den schrägen Wurf finden, kannst davon ausgehen, dass der Waagerechte wurf ein Spezialfall des schrägen Wurfes ist, => du kannst unter Umständen mit viel Grundwissen auf den Schrägen Wurf zurückschließen.
Vielleicht findest du hier ganz unten noch was.
http://de.wikipedia.org/wiki/Physik_für_die_Schule

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.