greife das Thema mal auf da es bei mir auch um Bubblesort geht.
Delphi-Quellcode:
procedure BubbleSort(var zorder: array of Integer; var faceorder: array of Integer);
var
IntI, IntK: Integer;
begin
for IntI := Low(zorder) to (High(zorder) - 1) do
begin
for IntK := (IntI + 1) to High(zorder) do
begin
if zorder[IntI] < zorder[IntK] then
begin
BubbleSwap(zorder[IntI], zorder[IntK]);
BubbleSwap(faceorder[IntI], faceorder[IntK]);
end;
end;
end;
end;
BubbleSort(zorder, faceorder);
Mein Problem ist folgendes
Im Array zorder können sich auch negative werte befinden.
Wenn sie negativ sind würden sich diese werte ändern.
bsp.
zorder[IntI] := -18;
zorder[IntK] := -90;
in dem fall würde sich das Array ändern
weil -18 mehr wie -90 ist.
Das führt aber beim zeichnen zu Problemen da die ZOrder des Objects dann verändert wird.
Denn -90 ist ja eigentlich wenn ich zeichne mehr wie -18. (es liegt tiefer im Raum)
Wie kann ich das beheben? Oder ist meine Denkweise falsch.
Wenn also die Zorder wie im Bild -6 mehr wie -78 ist dann habe ich ein großes Problem.
gruss