Die einfachste Loesung ist natuerlich eine TStringList (am besten eine TListBox).
Sie wird mit 30 Strings "Matrose 1" bis "Matrose 30" gefuellt und dann machen wir uns ans zaehlen.
Delphi-Quellcode:
// Los gehts bei Matrose 1 = Index 0
I := 0;
// der Zaehler bis 7
N := 0;
// bis nur noch ein Matrose uebrig ist
while ListBox1.Count > 1 do
begin
// erst N inkrementieren, daher Initialisierung auf 0
Inc(N);
if N = 7 then
begin
// den Matrosen killen
ListBox1.Delete(I);
// damit die Listbox auch den Fortgang anzeigt
ListBox1.Update;
// Zaehler zuruecksetzen
N := 0;
end
else
// Naechster Matrose. Wurde einer gekillt, dann sind die Nachfolger aufgerueckt.
Inc(I);
// Ende der Liste
if I >= ListBox1.Count then
// zurueck zum Anfang
I := 0;
end;