//Menüeintrag für die neue Königin - ebenfalls eine Methode.
        static void ShowOverView()
        {
            int gesamtsteuerSatz = 0;

            foreach (var Stamm in AlleClans)
            {
                gesamtsteuerSatz += Stamm.Tax;
            }
            Console.WriteLine("###      0: Übersichtsanzeige        ###");
            Console.WriteLine("\n");
            Console.WriteLine("[*]  -  Kennzeichnet einen Stammesführer\n");
            Console.WriteLine("Gesamtsteuereinnahmen: " + gesamtsteuerSatz + ".00");
            Console.WriteLine("Steuereinnahmen nach Einwohner:");
            int _anzahlBewohner = 0;

            gesamtsteuerSatz = 0;
            foreach (var Einwohner in AlleBewohner)
            {
                _anzahlBewohner += 1;
                string istStammesfuehrer = "";
                if (Einwohner.Name.Equals(AlleClans.Find(f => f.Name == Einwohner.Stamm).Stammeshaupt))
                {
                    istStammesfuehrer = "[*]";
                }
                if (Einwohner.Spezies.Equals("Zwerg"))
                {
                    int bewohnerSteuersatz = Einwohner.Machtfaktor * SteuerBasisSatz;
                    gesamtsteuerSatz += bewohnerSteuersatz;
                    Console.WriteLine(istStammesfuehrer + Einwohner.Name + "(Zwerg): " + bewohnerSteuersatz + ".00");
                }
                else
                {
                    Elb Bewohner           = (Elb)Einwohner;
                    int bewohnerSteuersatz = (int)(Einwohner.Alter / SteuerBasisSatz + Bewohner.Haarlaenge);
                    gesamtsteuerSatz += bewohnerSteuersatz;
                    Console.WriteLine(istStammesfuehrer + Einwohner.Name + "(Elb): " + bewohnerSteuersatz + ".00");
                }
            }
            Console.WriteLine("Durchschnittssteuern: " + gesamtsteuerSatz / _anzahlBewohner + "(" + gesamtsteuerSatz + "/" + _anzahlBewohner + ")");
            ResetProgram();
        }
        static void Init()
        {
            SteuerBasisSatz = 2;
            //Ausrüsten der Bewohnere für Raids & Co
            Gimli.Inventar.Add(Axt01);
            Gimli.Inventar.Add(Schwert);
            Zwerg.UpdateMachtfaktor(Gimli);
            Gumli.Inventar.Add(Axt02);
            Zwerg.UpdateMachtfaktor(Gumli);
            Zwingli.Inventar.Add(Zauberstab);
            Zwingli.Inventar.Add(Streithammer);
            Zwerg.UpdateMachtfaktor(Zwingli);
            Elb.UpdateMachtfaktor(Elidyr);
            Elb.UpdateMachtfaktor(Iefyr);
            Elb.UpdateMachtfaktor(Vulas);
            Elb.UpdateMachtfaktor(Malon);

            //Bewohnere sind keine Einzelkämpfer
            Altobarden.Mitglieder.Add(Gimli);
            Altobarden.Mitglieder.Add(Zwingli);
            Elbkbnechte.Mitglieder.Add(Gumli);

            Murkpeak.Mitglieder.Add(Elidyr);
            Murkpeak.Mitglieder.Add(Iefyr);
            Murkpeak.Mitglieder.Add(Vulas);
            Montzieu.Mitglieder.Add(Malon);
            //Hinzufügen der Stämme zu einer Liste
            AlleClans.Add(Altobarden);
            AlleClans.Add(Elbkbnechte);
            AlleClans.Add(Murkpeak);
            AlleClans.Add(Montzieu);
            //Hinzufügen der Bewohnere zu einer Liste
            AlleBewohner.Add(Gimli);
            AlleBewohner.Add(Gumli);
            AlleBewohner.Add(Zwingli);
            AlleBewohner.Add(Elidyr);
            AlleBewohner.Add(Iefyr);
            AlleBewohner.Add(Vulas);
            AlleBewohner.Add(Malon);
        }
        //Inventar
        static void EditInventory()
        {
            Console.WriteLine("###      5: Inventar editieren       ###");
            //Ich bin faul, kopiere also die Auswahl des Bewohners vom Bewohner editieren
            int currentBewohner = 0;

            foreach (var bewohner in AlleBewohner)
            {
                currentBewohner += 1;
                //Auflistung aller Bewohnere
                Console.Write(currentBewohner + ": " + bewohner.Name + "(" + bewohner.Machtfaktor + ")     " + bewohner.Alter + " Jahre alt          ");
                //Alle Bewohnere sind Ziele für Steuern - Inventarauswertung
                if (bewohner.Spezies.Equals("Zwerg"))
                {
                    Zwerg zwerg = (Zwerg)bewohner;
                    foreach (var item in zwerg.Inventar)
                    {
                        Console.Write("" + item.Name + "(" + item.MagieWert + "), ");
                    }
                }
                else if (bewohner.Spezies.Equals("Elb"))
                {
                    Elb elb = (Elb)bewohner;
                    Console.Write("Elben haben nur ihre Haare als Waffe. Länge: " + elb.Haarlaenge);
                }
                Console.Write("\n");
            }
            //Bewohner auswählen
            Console.WriteLine("###      Bitte Bewohner auswählen       ###");
            try
            {
                //Eingabe des Benutzers
                currentBewohner = (int.Parse(Console.ReadLine()) - 1);
            }
            //Eingabe falsch formatiert
            catch (Exception)
            {
                Console.Clear();
                Console.WriteLine("Fehlerhafte Eingabe - nochmal Versuchen!");
                EditInventory();
            }
            //Bewohner Veriable - das andere geht zwar auch jedesmal, ist aber mehr schreibarbeit
            if (AlleBewohner[currentBewohner].Spezies.Equals("Zwerg"))
            {
                Zwerg bewohnerToEdit = (Zwerg)AlleBewohner[currentBewohner];
                Console.Clear();
                //Alle Inventarelemente darstellen
                foreach (var item in bewohnerToEdit.Inventar)
                {
                    Console.Write("" + item.Name + "(" + item.MagieWert + "), ");
                    Console.Write("\n");
                }
                //Nutzer entscheiden lassen, ob er etwas bearbeiten möchte
                Console.WriteLine("Was möchten Sie tun?");
                Console.WriteLine("1: Gegenstand hinzufügen?");
                Console.WriteLine("2: Gegenstand entfernen?");
                Console.WriteLine("3: Nichts tun?");
                int todo = 0;
                try
                {
                    todo = (int.Parse(Console.ReadLine()) - 1);
                }
                catch (Exception)
                {
                    Console.Clear();
                    Console.WriteLine("Fehlerhafte Eingabe - nochmal Versuchen!");
                    EditInventory();
                }
                //Auswahl der Fälle mal per IF - nicht wie vorher immer mit switch case
                //Auswahl 1 - hinzufügen
                if (todo == 0)
                {
                    //Neuer Gegenstand wird durch Nutzer erstellt
                    Console.WriteLine("Gegenstand hizufügen:");
                    Console.WriteLine("Bitte geben Sie dem Gegenstand einen Namen");
                    string name = Console.ReadLine();
                    Console.WriteLine("Bitte geben Sie dem Gegenstand einen Machtfaktor (ganzzahl positiv)");
                    int machtfaktor = int.Parse(Console.ReadLine());
                    //Und dann dem Bewohner gegeben.
                    bewohnerToEdit.AddItem(bewohnerToEdit, new Gegenstand(name, machtfaktor));
                }
                //Auswahl 2 - entfernen
                else if (todo == 1)
                {
                    //Die Liste nochmals darstellen, um dem Nutzer die Auswahl zu erleichtern
                    int currentItem = 0;
                    foreach (var item in bewohnerToEdit.Inventar)
                    {
                        currentItem += 1;
                        Console.Write(currentItem + ": " + item.Name + "(" + item.MagieWert + "), ");
                        Console.Write("\n");
                    }
                    //Nutzer wählt den alten Ramsch zum entfernen aus
                    Console.WriteLine("Welchen Gegenstand möchten Sie entfernen?");
                    currentItem = (int.Parse(Console.ReadLine()) - 1);
                    //Ramsch wird entfernt
                    bewohnerToEdit.RemoveItem(bewohnerToEdit, bewohnerToEdit.Inventar[currentItem]);
                    Console.WriteLine("Thy dirty deed be done!");
                }
                //Auswahl 3 - nichts tun
                else if (todo == 2)
                {
                    Console.WriteLine("Nichts bearbeitet.");
                }
                else
                {
                    Console.WriteLine("Diese Option besteht nicht!");
                }
            }

            ResetProgram();
        }
        //Einen Bewohner editieren (Hinzufügen/Entfernen von Gegenstaenden) oder Bewohnere erstellen etc (falls genug Zeit bleibt)
        static void EditCitizen()
        {
            Console.WriteLine("###      4: Bewohner editieren          ###");
            int currentBewohner = 0;

            foreach (var bewohner in AlleBewohner)
            {
                currentBewohner += 1;
                //Auflistung aller Bewohnere
                Console.Write(currentBewohner + ": " + bewohner.Name + "(" + bewohner.Machtfaktor + ")     " + bewohner.Alter + " Jahre alt          ");
                //Alle Bewohnere sind Ziele für Steuern - Inventarauswertung
                if (bewohner.Spezies.Equals("Zwerg"))
                {
                    Zwerg zwerg = (Zwerg)bewohner;
                    foreach (var item in zwerg.Inventar)
                    {
                        Console.Write("" + item.Name + "(" + item.MagieWert + "), ");
                    }
                }
                else if (bewohner.Spezies.Equals("Elb"))
                {
                    Elb elb = (Elb)bewohner;
                    Console.Write("Haupthaar (" + elb.Haarlaenge + ")");
                }
                Console.Write("\n");
            }
            //Bewohner auswählen
            Console.WriteLine("###      Bitte Bewohner auswählen       ###");
            Console.WriteLine("###      'Add' für neuen Bewohner       ###");
            string    selection = "";
            Lebewesen bewohnerToEdit;

            try
            {
                selection = Console.ReadLine();
                if (!selection.Equals("Add"))
                {
                    currentBewohner = (int.Parse(selection) - 1);
                }
            }
            catch (Exception)
            {
                Console.Clear();
                Console.WriteLine("Fehlerhafte Eingabe - nochmal Versuchen!");
                EditCitizen();
            }
            if (selection.Equals("Add"))
            {
                Console.WriteLine("Möchten Sie einen (1)Zwerg oder einen (2)Elb hinzufügen?");
                if (Console.ReadLine().Equals("2"))
                {
                    bewohnerToEdit = new Elb("", 0, "", 0, false, 0);
                    AlleBewohner.Add(bewohnerToEdit);
                }
                else
                {
                    bewohnerToEdit = new Zwerg("", 0, "", 0);
                    AlleBewohner.Add(bewohnerToEdit);
                }
            }
            else
            {
                bewohnerToEdit = AlleBewohner[currentBewohner];
            }
            //Namensänderung des Bewohners
            Console.WriteLine("Namensänderung: " + bewohnerToEdit.Name + " - leer lassen um nicht zu verändern.");
            string newName = Console.ReadLine();

            if (newName.Length > 0)
            {
                bewohnerToEdit.Name = newName;
            }

            //Alter ändern
            Console.WriteLine("Alter: " + bewohnerToEdit.Alter + " - leer lassen um nicht zu verändern.");
            string newAge = Console.ReadLine();

            if (!string.IsNullOrEmpty(newAge))
            {
                if (int.Parse(newAge) > 0)
                {
                    bewohnerToEdit.Alter = int.Parse(newAge);
                }
            }


            //Bewohner in anderen Stamm setzen
            Console.WriteLine("Stammesänderung: " + bewohnerToEdit.Stamm + " - leer lassen um nicht zu verändern.");
            string newStamm      = Console.ReadLine();
            bool   newStammFound = false;
            bool   hadnoStamm    = true;

            if (newStamm.Length > 0)
            {
                //Suche nach altem Stamm
                foreach (var stamm in AlleClans)
                {
                    if (stamm.Name.Equals(bewohnerToEdit.Stamm))
                    {
                        hadnoStamm = false;
                        //Abfrage, ob der Bewohner Stammesoberhaupt ist
                        if (!stamm.Stammeshaupt.Equals(bewohnerToEdit.Name))
                        {
                            //Bewohner aus altem Stamm entfernen
                            stamm.RemoveBewohner(stamm, bewohnerToEdit);
                            bewohnerToEdit.Stamm = newStamm;
                            //Neuen Stamm suchen
                            foreach (var fancyStamm in AlleClans)
                            {
                                if (fancyStamm.Name.Equals(newStamm))
                                {
                                    //Bewohner eintragen
                                    newStammFound = true;
                                    stamm.AddBewohner(fancyStamm, bewohnerToEdit);
                                }
                            }
                            if (!newStammFound)
                            {
                                //Stamm nicht gefunden, Bewohner in alten Stamm zurücksetzen
                                Console.WriteLine("Stamm nicht gefunden, Bewohner verbleibt in altem Stamm!");
                                stamm.AddBewohner(stamm, bewohnerToEdit);
                            }
                        }
                        else
                        {
                            Console.WriteLine("Bitte die Stammesführung erst ändern. Der Stammesführer kann den Stamm nicht verlassen!");
                        }
                    }
                }
                if (hadnoStamm)
                {
                    foreach (var stamm in AlleClans)
                    {
                        if (stamm.Name.Equals(newStamm))
                        {
                            stamm.AddBewohner(stamm, bewohnerToEdit);
                        }
                    }
                }
            }
            ResetProgram();
        }