Hallo,
ich schreibe im moment ein pacman clone und habe ein array mit "kis" und nun möchte ich einen level editor schreiben und bin jetzt bei der löschen funktion angelangt.
Jetzt möchte ich einfach die richtige ki löschen.dazu muss ich erstmal ermittelen welche ki die richtige ist und die lösche ich dann einfach:
KI:index merken
kis in einen neuen array zu weisen und den auslasen der den index hat und fertig.
naja so habe ich mir es gedacht aber leider geht es nicht.....
er setzt index flasch. mein code dazu ist:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| for i:=0 to HIGH(ki) do begin if (ki[i].x = x div mapX) and (ki[i].y = y div mapY) then begin index:=i; break; end; end; ShowMessage(IntToStr(I));
for i:=0 to HIGH(KI) do begin if i <> index then begin SetLength(k,high(k)+2); k[HIGH(K)]:=ki[i]; end; end;
SetLength(ki,0); SetLength(ki,high(k));
for i:=0 to HIGH(KI) do begin ki[i]:=k[i]; end; |