Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: [AV] Timer soll in der Methode nicht existieren -> Lä

  Alt 15. Aug 2008, 15:40
Schalte mal deine Bereichsprüfung ein, dann wirst du sofort einen ganz tollen Fehler bekommen, sobald du ein Element aufgesammelt hast.

So hier mal die Lösung für das Problem...
Delphi-Quellcode:
    // Letztes Feld dannach wieder begehbar machen
    if (FSnakey.p[High(FSnakey.p)].X >= 0)
       and (FSnakey.p[High(FSnakey.p)].Y >= 0) then
    begin
      FBelegt[FSnakey.p[High(FSnakey.p)].X, FSnakey.p[High(FSnakey.p)].Y] := false;
    end;

    // alles "vorshiften" - von hinten nach vorne, sonst waere
    // die Schlange ja nur 1 Kaestchen groß, egal welches Level
    for i := High(FSnakey.p) downto 1 do
    begin
      FSnakey.p[i].x := FSnakey.p[i - 1].x;
      FSnakey.p[i].y := FSnakey.p[i - 1].y;
      if (FSnakey.p[i].x >= 0) and (FSnakey.p[i].y >= 0) then begin
        FBelegt[FSnakey.p[i].x, FSnakey.p[i].y] := true;
      end;
    end;
Deine Anwendung hat auch noch Speicherlecks, füge mal folgendes hinzu...
Delphi-Quellcode:
procedure TfrmMain.FormDestroy(Sender: TObject);
begin
  FBackground.free;
  FGoodies.free;
  FLog.free;
end;
  Mit Zitat antworten Zitat