Eine Idee für die Kollisionsabfrage wäre diese:
Du definierst dir ein paar records
Delphi-Quellcode:
TFrosch = record
Min,breite,Fahrbahn: integer;
end;
TAuto = record
min,breite, Fahrbahn, Geschw : integer;
Bild: TImage;
end;
Jetzt kannst du ein dynamisches array of TAuto erstellen und beim Programmstart die Autos mit Werten fühlen. Min ist der X-Pixelwert der linken oberen Ecke und in Breite kommt die Länge deines Auto-Images. Fahrbahn gibt an, auf welcher Fahrbahn dein Auto gerade ist und in Geschw. kannst du Speichern, um wie viel Px sich dieses Auto nach jedem Zeitschritt befindet. Das Min beim Frosch kannst du beim Programmstart etwa in die Mitte deines Forms setzen.
Jetzt brauchst du einen Timer. Über dessen Intervall kannst du auch die Schwierigkeit steuern.
In Ontimer-Event kommt dann so was:
Delphi-Quellcode:
for i:=0 to length(Autoarray)-1 do // schleife über alle Autos
begin
if Autoarray[i].Fahrbahn = Frosch.Fahrbahn then // Auto und Frosch auf gleicher Fahrbahn
begin
if (Sich das Auto mit dem Frosch überlappt) then
Showmessage('autsch');
end;
// Ausserdem werden alle Autos verschoben:
for i:=0 to length(autoarray)-1 do
begin
Autoarray[i].min:=Autoarray[i].min+Autoarray[i].geschw
Autoarray[i].bild.left:= Autoarray[i].min; // Das Bild wird verschoben
Damit müsstest du erstmal hinkommen. Bei weiteren Fragen weisst du ja, wo du fragen kannst. Den Text oben habe ich nicht kompiliert, d.h. es kann gut sein, dass du ihn überarbeiten musst.
Erwarte das Beste und bereite dich auf das Schlimmste vor.