Пример #1
0
        /// <summary>
        /// Bewegt alle Einheiten, die sich bewegen wollten
        /// </summary>
        static void EinheitenBewegen()
        {
            foreach (Einheit e in SpaceGame.HoleAlleEinheiten())
            {
                if (e.LangerBefehl == null || e.LangerBefehl[0].ToUpper() != "NACH" || e.LangerBefehl.Length != 2)
                {
                    // Einheit wollte sich gar nicht bewegen - überspringen
                    continue;
                }
                string richtung = e.LangerBefehl[1].ToUpper();
                int    dx       = 0;
                int    dy       = 0;
                switch (richtung)
                {
                case "OBEN": dy = -1; break;

                case "UNTEN": dy = 1; break;

                case "LINKS": dx = -1; break;

                case "RECHTS": dx = 1; break;

                default:
                    Console.WriteLine("Fehler im NACH-Befehl von Einheit " + e.Nummer + ". Richtung " + richtung + " nicht erkannt.");
                    continue;
                }
                int    x    = e.Sektor.X + dx;
                int    y    = e.Sektor.Y + dy;
                Sektor ziel = SpaceGame.FindeSektor(x, y);
                if (ziel == null)
                {
                    Console.WriteLine("Fehler im NACH-Befehl von Einheit " + e.Nummer + ". Bei (" + x + "," + y + ") gibt es keinen Sektor.");
                    continue;
                }
                // Wir haben einen gültigen Zielsektor. Bewege die Einheit!
                e.Sektor = ziel;
                ziel.Einheiten.Add(e);
            }
        }
Пример #2
0
        static void TestdatenErzeugen()
        {
            SpaceGame.Daten.Sektoren               = new List <Sektor>();
            SpaceGame.Daten.Faktionen              = new List <Faktion>();
            SpaceGame.Daten.NächsteFaktionsNummer  = 1;
            SpaceGame.Daten.NächsteEinheitenNummer = 1;

            Sektor s0 = new Sektor();

            s0.Name     = "Milchstrasse";
            s0.X        = 0;
            s0.Y        = 0;
            s0.Metall   = 100000;
            s0.Spookies = 20000;
            s0.Bewohner = 3244;

            Sektor s1 = new Sektor();

            s1.Name     = "Beteigeuze";
            s1.X        = 0;
            s1.Y        = 1;
            s1.Metall   = 100000;
            s1.Spookies = 200;
            s1.Bewohner = 30;

            Sektor s2 = new Sektor();

            s2.Name     = "Rigel";
            s2.X        = 1;
            s2.Y        = 0;
            s2.Metall   = 50;
            s2.Spookies = 1000;
            s2.Bewohner = 300;

            SpaceGame.Daten.Sektoren.Add(s0);
            SpaceGame.Daten.Sektoren.Add(s1);
            SpaceGame.Daten.Sektoren.Add(s2);

            Faktion polizei = new Faktion("poli", "zei", "Raumpolizei");
            Faktion piraten = new Faktion("pi", "raten", "FiesRaumPiraten");

            SpaceGame.Daten.Faktionen.Add(polizei);
            SpaceGame.Daten.Faktionen.Add(piraten);

            Einheit streifealpha = new Einheit(polizei, "Weltraumstreife Alpha");

            streifealpha.Mitglieder = 10;
            streifealpha.Metall     = 1000;
            streifealpha.Spookies   = 1000;
            s0.Einheiten.Add(streifealpha);

            Einheit pirat1 = new Einheit(piraten, "Raumbart der Schreckliche");

            pirat1.Mitglieder = 1;
            pirat1.Metall     = 100000;
            pirat1.Spookies   = 333333;
            s0.Einheiten.Add(pirat1);

            Einheit pirat2 = new Einheit(piraten, "Quatschibus Crew");

            pirat2.Mitglieder = 8;
            pirat2.Metall     = 10;
            pirat2.Spookies   = 80;
            s0.Einheiten.Add(pirat2);

            Einheit pirat3 = new Einheit(piraten, "Schutzcrew Beteigeuze");

            pirat3.Mitglieder = 10;
            pirat3.Metall     = 100;
            pirat3.Spookies   = 800;
            s1.Einheiten.Add(pirat3);
        }