with Ada.Strings.Wide_Wide_Unbounded; use Ada.Strings.Wide_Wide_Unbounded; with StadtDatentypen; with EinheitenDatentypen; with ForschungenDatentypen; with ProduktionDatentypen; with ZahlenDatentypen; with SpeziesDatentypen; with SpielDatentypen; with DiplomatieDatentypen; package SpielRecords is pragma Preelaborate; type InvestierteForschungArray is array (ForschungenDatentypen.ErforschtArray'Range) of ProduktionDatentypen.Produktion; type ForschungRecord is record -- XXX TechnologieErforscht : ForschungenDatentypen.ErforschtArray; InvestierteForschung : InvestierteForschungArray; end record; type WichtigesRecord is record Geldmenge : ZahlenDatentypen.EigenerInteger; GeldZugewinnProRunde : ProduktionDatentypen.Produktion; GesamteForschungsrate : ProduktionDatentypen.Lagermenge; Forschungsmenge : ProduktionDatentypen.Lagermenge; VerbleibendeForschungszeit : ProduktionDatentypen.Lagermenge; Forschungsprojekt : ForschungenDatentypen.ForschungID; -- Wenn ich ein Record für diese Variable hier anlege, dann könnten man die bereits investierte Forschung behalten. XXX Erforscht : ForschungenDatentypen.ErforschtArray; AnzahlStädte : StadtDatentypen.Städtebereich; AnzahlArbeiter : EinheitenDatentypen.Einheitenbereich; AnzahlKämpfer : EinheitenDatentypen.Einheitenbereich; AnzahlSonstiges : EinheitenDatentypen.Einheitenbereich; -- Einbau sinnvoll? -- GesamterAngriff : ProduktionDatentypen.Produktion; -- GesamteVerteidigung : ProduktionDatentypen.Produktion; end record; type DiplomatieRecord is record AktuellerZustand : DiplomatieDatentypen.Status_Untereinander_Enum; AktuelleSympathieBewertung : DiplomatieDatentypen.Meinung; ZeitSeitLetzterÄnderung : ZahlenDatentypen.EigenesNatural; end record; type GrenzenRecord is record Städtegrenze : StadtDatentypen.Städtebereich; Einheitengrenze : EinheitenDatentypen.EinheitenbereichVorhanden; Geldgrenze : ZahlenDatentypen.EigenesNatural; Forschungsgrenze : ProduktionDatentypen.Lagermenge; Geldgewinngrenze : ProduktionDatentypen.Lagermenge; ForschungGewinngrenze : ProduktionDatentypen.Lagermenge; SpeziesRundengrenze : ZahlenDatentypen.EigenesNatural; end record; type AllgemeinesRecord is record Gewonnen : Boolean; Weiterspielen : Boolean; SpeziesAmZugNachLaden : SpeziesDatentypen.Spezies_Enum; Schwierigkeitsgrad : SpielDatentypen.Schwierigkeitsgrad_Enum; Rundenanzahl : ZahlenDatentypen.EigenesPositive; Rundengrenze : ZahlenDatentypen.EigenesNatural; IronmanName : Unbounded_Wide_Wide_String; PlanetVernichtet : SpeziesDatentypen.Spezies_Enum; Zusammenbruchszeit : ZahlenDatentypen.EigenerInteger; AnzahlEingesetzterPZB : ZahlenDatentypen.EigenesNatural; end record; type SpeziesRecords is record Belegung : SpeziesDatentypen.Spieler_Enum; Besiegt : Boolean; end record; type SpeziesbelegungArray is array (SpeziesDatentypen.Spezies_Vorhanden_Enum'Range) of SpeziesRecords; end SpielRecords;