Das Array selber hat mit der Top-Index-Verwaltung nicht viel zu tun. Damit war eher gemeint, dass man sich drum kümmern muss, dass beim Verschieben von Scheiben die Indezes korrekt mit verändert werden, damit man nicht irgendwann in leere greift, oder gar Scheiben aus der Mitte zieht
.
Da fällt mir ein: Ein 2-dimensionales ist viel besser geeignet...
Deklaration eines 2-dim. Arrays:
Delphi-Quellcode:
var
My2DimArray = array[1..3, 1..30] of TShape;
Der erste Index gibt den Stapel an, der zweite die Scheibe.
Und der 2. Index ist der, bei dem man sich den höchsten vorhandenen Index separat merken muss. Da könnte man sich auch ein kleines Array vorstellen:
Delphi-Quellcode:
var
MyTopIndezes = array[1..3] of Integer;
Das hat den Vorteil, dass du mit ein und dem selben Wert einen Stapel und gleich seinen aktuellen Top-Index indizieren kannst.
Ich hoffe das ist einigermaßen durchsichtig
gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel