Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Figur läuft einfach durch die Mauer

  Alt 29. Apr 2011, 23:46
das hast du programmiert. sieht etwas merkwürdig aus. Ist das korrekt, das Richtungsstern überschrieben wird, wenn mehrere Bedingungen für eine Richtung erfüllt sind?

Delphi-Quellcode:
function TForm1.Richtungstern (const Richtung: integer): integer;
begin
  Result:=0;
  case Richtung of
    1: begin
         if img_Stern.Top + img_Stern.Height + 100 > ClientHeight then Result:=2;
         if img_Stern.Left < 100 then Result:=1;
         if img_Stern.Left + img_Stern.Width + 100 > ClientWidth then Result:=4;
       end;
    2: begin
         if img_Stern.Left + img_Stern.Width + 100 > ClientWidth then Result:=3;
         if img_Stern.Top < 100 then Result:=1;
       end;
    3: begin
         if img_Stern.Top < 100 then Result:=4;
         if img_Stern.Left < 100 then Result:=2;
       end;
    4: begin
         if img_Stern.Top + img_Stern.Height + 100 > ClientHeight then Result:= 3;
       end;
  end;
end;
schieb die Function mal nach private in dein Object rein und teste die Ergebnisse. Fehlen wahrscheinlich ein paar "else" und weitere Bedingungen.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  ...
  private
    function Richtungstern (const richtung: integer): integer;
  end;
  Mit Zitat antworten Zitat