Das Problem bei deiner Lösung ist, dass die beiden Teile, die du herausgenommen hast, ohne FOR-Schleife nicht funktionieren:
Delphi-Quellcode:
for k:=0 to 1 do begin
if (X>=Gegenstand[k].X) and (X<=Gegenstand[k].X+32) and (Y>=Gegenstand[k].Y) and (Y<=Gegenstand[k].Y+32)
then Gegenstand[k].hant:=true;
end;
Gegenstände[k].... Braucht eine FOR-schleife, da es ja ein array, sonst hätte k keinen Wert und das geht natürlich nicht
Delphi-Quellcode:
if (Sack.py[k]=Gegenstand[i].Y-Sack.Y)and(Sack.py[k]=Gegenstand[i].Y-Sack.Y) and
(Sack.px[k]=Gegenstand[i].x-Sack.x)and(Sack.px[k]=Gegenstand[i].x-Sack.x)
then Sack.platz[k]:=false;
Auch hier kann Gegenstände ohne einem array nicht funktionieren.