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;