Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi "Gorillas" programmieren (https://www.delphipraxis.net/6690-gorillas-programmieren.html)

Matze 18. Jul 2003 13:41


"Gorillas" programmieren
 
Hi!
Kann mir jemand einen Tipp geben, wie ich das DOS-Game "Gorillas" mit Delphi programmieren kann?
Ich nehme statt Bananen halt ein Shape. Ich verstehe nur nicht, wie ich den Winkel und die Stärke des Schusses einstellen kann und wie der andere Gorilla "merkt", wenn er getroffen worden ist (mit Pixelabfrage?).
Ich weiß, es ist ein bisschen viel verlangt, aber kann mir jemand helfen, den Code raus zu bekommen?? :chat:

Gruß Matze

Daniel B 18. Jul 2003 13:51

Re: "Gorillas" programmieren
 
Hallo,

im Anhang ist mal der Basic-Quelltext, geh doch den einfach durch un vergleiche, bzw. kopiere, oder setze Teile einfach nach Delphi um.

Grüsse, Daniel :hi:

Matze 18. Jul 2003 13:54

Re: "Gorillas" programmieren
 
Hallo Daniel!
Danke, aber viel versteh ich von dem Quelltext nicht, das muss ich ganz ehrlich sagen. Könntest du vielleicht... :wink:
Gruß Matze

Rotojoto 10. Okt 2006 20:19

Re: "Gorillas" programmieren
 
Hey Leute!
Ich habe in etwa das gleiche Problem...
Bin jetzt endlich wieder auf das Game gestossen und da ich mit nem Kumpel als Abschlussprojekt irgendetwas, jedenfalls ein wenig anspruchsvolleres programmieren soll haben wir uns vorgenommen dieses Gorillas Spiel zu programmieren.
Allerdings stellen wir uns die gleichen Fragen wie Matze und der Source Code alleine hilft jetzt nicht so übermäßig weiter, also falls wer ne Antwort auf dieses Problem oder zumindestens einen Ansatz hat..., ne?


Gruß

Cöster 10. Okt 2006 20:27

Re: "Gorillas" programmieren
 
Ich kenne das Spiel nicht. Kannst du es mal eben kurz beschreiben? Vielleicht kann ich dann ja helfen.

Khabarakh 10. Okt 2006 20:46

Re: "Gorillas" programmieren
 
Zitat:

Zitat von Cöster
Ich kenne das Spiel nicht.

Wikipedia kennt es :P .

@Rotojojo: Deine Frage ist etwas allgemein gestellt, zu allgemein ;) .
Jedenfalls mal zu Matzes letzter Frage, sollte euch das etwas weiterhelfen: Jupp, ich würde pixelweise, für die Performance jedoch zusätzlich zuerst auf die Boundingbox testen.

Real_Thunder 10. Okt 2006 20:57

Re: "Gorillas" programmieren
 
Also, Gorillas, ist ein Spiel dasvon Microsoft's QBasic mitgeliefert wurde, weches widerum in eineigen DOS Paketen vorkam.

Es geht darum, das 2 Gorillas auf hochhausdächern stehen, und sich mit Bananen Bewerfen... wobei immer ein STück von den Hochhäusern, expldiert wenn es von der banane Getroffen wird.

Ziel ist es den anderen Gorilla zu treffen...

Dies erreicht man indem man den Wurfwinkel und die Wurfstärke eintippt....


So, und nun mal wie man sowas realisieren kann....


also die banen fliegen immer in einer Art Kreis...
Stärke = Radius
Wikel = Startwinkel...

Also als Erstes die Kreisfunktionen lernen...
dann eine formel entwickeln, wobei der radius eine varible ist.

Die Position des kreises Passt du je nach winkel an....

davon nimmst du dann die hälfte weg, und sulst das ganze rückwärts ab, wobei du aber den x wert deiner "Banae" ebenso erhöhen mußt


für die Hochhaustreffer, Bzw den anderen affen.. merkt du dir jediglich die Positionen der kanten, und vergleichst sie bei jeder Veränderung der Banenposition.. sobald die identisch sind, Booom..... das war es mal in Grossen zügen...


P.S. Das war noch ne zeit... QBasic............... *Träum*

3_of_8 10. Okt 2006 21:15

Re: "Gorillas" programmieren
 
...wobei man auch eine Steuerung mit Pfeiltasten für den Winkel und Leertaste gedrückt halten für Intensität programmieren können.

Cöster 10. Okt 2006 21:47

Re: "Gorillas" programmieren
 
Hab das Spiel gerade mal online gespielt. Ist ganz lustig. Aber ich würde die Bananen nicht in einer Kreisbahn fliegen lassen, wie es Real_Thunder geschrieben hat.

Durch Winkel+Winkelfunktionen und Gesamtgeschwindigkeit+Pytagoras berechnest du die anfängliche X- und Y-Geschwindigkeit.

Die einzige physikalilsche Formel, die man braucht ist s=v*t - a*t²/2

in y-Richtung ist a die Erdbeschleunigung, also 9,81
in x-Richtung ist a die Windstärke.
s ist jeweils die zurückgelegte Strecke in die entsprechende Richtung (x oder y), v ist die Startgeschwindigkeit in x- bzw. y-Richtung und t ist die vergangene Zeit seit Abwurf der Banane.

So lässt sich also zu jeder Zeit die Position der Banane berechnen.

Für die Kollisionsüberprüfung benutzt du die Eigenschaften Left, Top, Width und Height von Gorilla und Banane:

Delphi-Quellcode:
function TForm1.IsCollision(Gorilla, Banane: TImage): Boolean;
begin
  result := (Banane.Left < Gorilla.Left + Gorilla.Width) and
    (Banane.Left + Banane.Width > Gorilla.Left) and
    (Banane.Top < Gorilla.Top + Gorilla.Height) and
    (Banane.Top + Banane.Height > Gorilla.Top);
end;

cruso 10. Okt 2006 22:39

Re: "Gorillas" programmieren
 
Ich weiß nicht ob Matze nach über 3 Jahren noch interesse an einer Antwort hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz