Programmierst du objektorientiert, d.h. du verwendest mehrere Units mit mehreren Klassen? Das erweist sich nämlich fast immer als sehr vorteilhaft. Tutorials dazu findest du auf
dsdt.info.
Dann könntest du z.B. eine Klasse TPlayer bauen, in der alle möglichen Instanzen eines Spielers, also einer Figur gespeichert werden. Dort kannst du dann u.a. die Geschwindigkeit in x-Richtung und die Geschwindigkeit in y-Richtung speichern. Das ist das, was Panzerfischer sagte. Mit Vy meint er die Y-Gescheindigkeit, also die senkrechte.
Wenn gesprungen wird, wird die Y-Geschwindigkeit auf einen Wert gesetzt und dann kontinuierlich erniedrigt, bis sie ein anderes Vorzeichen hat und die Figur irgendwann wieder auf dem Boden steht.
Die Abfrage, ob die Figur auf dem Boden steht, kannst du so machen:
Du hast ja sicher eine Map. Diese könntest du zusätzlich in schwarz-weiß speichern (also Monochrome-Bitmap). Schwarz machst du dann alle Pixel, die NICHT betreten werden dürfen und weiß die anderen. Bei jedem Timer-Aufruf prüfst du dann alle Pixel dieses Monochrome-Bitmaps, die sich dort befinden, wo gerade die Füße der Figur direkt drauf stehen. Wenn alle weiß sind, fällt die Figur, sonst muss die Y-Geschwindigkeit auf 0 gesetzt werden (falls sie das noch nicht ist).