Hallo ihr Lieben,
ich "muss" im Rahmen eines Schulprojektes ein kleines Spiel in Delphi programmieren und stoße dort an eine Hürde. Habe viele Möglichkeiten probiert ohne jeglichen Erfolg, weswegen ich nun anderweitig Hilfe benötige.
Im groben soll ein Spieler Kisten zu ihrem vorgegebenen Platz schieben. Mit zwei Kisten konnte ich auch noch ausdrücken, dass diese nie ineinander "verschmelzen" (also die gleichen Koordinaten haben), bei dreien scheitere ich daran. Ich werde einmal meinen letzten Lösungsversuch euch mitteilen:
Delphi-Quellcode:
if player.top = k1.Top then
if player.Left =k1.left then
begin
if k1.Top-50 =k2.Top then
if k1.Left = k2.Left then
k1.Top:=k1.Top
else
if k1.Top-50 =k3.Top then
if k1.Left = k3.Left then
k1.top:=k1.Top
else
k1.Top:=k1.Top-50;
end;
Hier geht es um die Bewegung nach oben von der Kiste 1, also k1.
Und einmal meine "richtige" Lösung von dem Problem bei zwei Kisten:
Delphi-Quellcode:
if player.top = k1.Top then
if player.left = k1.left then
if k1.Top-50 <> k2.Top then
k1.Top:= k1.top-50
else
if k1.left <> k2.left then
k1.Top:= k1.top-50
else
k1.Top:=k1.Top;
Danke schon einmal für eure Hilfe!