Es gibt noch eine weitere prinzipielle Möglichkeit : Du packst alle Variablen in EINEN Record:
Code:
TYPE SpielTyp =
RECORD
punkte : integer;
gewonnen : boolean;
...
END;
VAR SpielVar : SpielTyp;
Das hat aber wiederum Vor- und Nachteile.
Vorteil : mit
Code:
FillChar (Spielvar,0,sizeof (SpielVar));
kannst Du auf einen Schlag alles auf Null, Leerzeichen und boolean auf false setzen, Du kannst nichts vergessen.
Nachteil : 1. Alles was <> 0 ist, z.B. true muß trotzdem von Hand auf einen Wert gesetzt werden. 2. Statt
mußt Du dann schreiben :
also mehr Schreibarbeit. Letzteres kannst Du dir aber durch WITH fast sparen.
Ich habe das so noch nicht selber gemacht, aber bei Deiner Sache könnte eine solche Vorgehensweise durchaus Sinn machen. Trotzdem würde auch ich das ganze trotzdem in eine Prozedur packen,z.B.:
Code:
PROCEDURE SpielNeu;
BEGIN
FillChar (Spielvar,0,sizeof (SpielVar));
WITH Spielvar DO BEGIN // von 0 abweichende Werte setzen
Level1 := 500;
Leveel2 := 1000;
....
END;
END;
Gruß
Hansa