Exemplo n.º 1
0
        public static void Main()
        {
            Hersteller.FuhrparkGenerieren();
            Intro();

            //hack SuL.ALLHASHINT(); Just for the Hashnumbers
            while (true)
            {
                Hauptmenü();
            }
        }
Exemplo n.º 2
0
        public static void Hauptmenü()
        {
            Console.Clear();
            Console.WriteLine(@"Hauptmenue:

            Was moechtest du tun?

                                Expandieren:                                                
                                (1) Gruende ein neues Unternehmen       
                                (2) Kauf ein neues Taxi             
                                (3) Besuche die Duebon-Bank

                                Analysieren:
                                (4) Zeige Spieler-Informationen
                                (5) Zeige alle Unternehmen
                                (6) Zeige bestimmtes Unternehmen

                                Tagesgeschaeft
                                (7) Taxi fahren lassen

                                BWL
                                (8) bla

                                Feierabend & Backup
                                (9) Spielstand Speichern
                                (10) Ende des Spiels");
            Regex  menüMöglichkeiten = new Regex("^[1-9]$");
            string ersterSchritt     = Console.ReadLine();

            if (menüMöglichkeiten.IsMatch(ersterSchritt.ToString()) || Convert.ToInt32(ersterSchritt) == 10)
            {
                switch (Convert.ToInt32(ersterSchritt))
                {
                case 1:
                    Benutzer.player.TaxiUnternehmen.Add(Unternehmen.unternehmenGruenden(Benutzer.player));
                    Console.ReadKey();
                    //LoadScreen();
                    break;

                case 2:
                    int entscheidungTaxi = 0;
                    if (Benutzer.player.TaxiUnternehmen.Count != 0)
                    {
                        int tmpUnternehmen = Benutzer.player.einkaufUnternehmen();
                        int tmpHersteller  = Hersteller.HerstellerWahl();
                        int tmpTaxi        = Taxi.TaxinamenAusgabe(tmpUnternehmen, tmpHersteller);
                        Taxi.EinTaxiAnzeigen(tmpHersteller, tmpTaxi);
                        entscheidungTaxi = Taxi.TaxiWahl();
                        switch (entscheidungTaxi)
                        {
                        case 1:
                            Taxi.TaxiKauf(tmpUnternehmen, tmpHersteller, tmpTaxi);
                            Console.ReadKey();
                            LoadScreen();
                            break;

                        case 2:
                            LoadScreen();
                            break;
                        }
                    }
                    if (Convert.ToInt32(entscheidungTaxi) == 1 || Convert.ToInt32(entscheidungTaxi) == 2)
                    {
                        //LoadScreen();
                        break;
                    }
                    Console.ForegroundColor = ConsoleColor.DarkRed;
                    Console.WriteLine("\nSie koennen noch kein Taxi kaufen!\nBitte erst ein Unternehmen gruenden.");
                    Console.ResetColor();
                    Console.ReadKey();
                    break;

                case 3:
                    Bank.BesuchBank();
                    break;

                case 4:
                    Console.WriteLine(Benutzer.player);
                    Console.ReadKey();
                    //LoadScreen();
                    break;

                case 5:
                    Benutzer.player.zeigeUnternehmen(Benutzer.player);
                    Console.ReadKey();
                    //LoadScreen();
                    break;

                case 6:
                    Benutzer.player.zeigeUnternehmen(Benutzer.player);
                    if (Benutzer.player.TaxiUnternehmen.Count != 0)
                    {
                        Console.Write("\n\nWelches Unternehmen wollen sie sehen?\t");
                        string unternehmen = Console.ReadLine();
                        Regex  zahl        = new Regex("^[0-9]+$");

                        while (true)
                        {
                            if (zahl.IsMatch(unternehmen) && Convert.ToInt32(unternehmen) <= Benutzer.player.TaxiUnternehmen.Count)
                            {
                                Thread.Sleep(100);
                                Console.Clear();
                                Console.WriteLine(Benutzer.player.TaxiUnternehmen[Convert.ToInt32(unternehmen) - 1]);
                                Console.ReadKey();
                                LoadScreen();
                                return;
                            }
                            Console.ForegroundColor = ConsoleColor.DarkRed; Console.ResetColor();
                            Console.Write("\n\nUngueltige Eingabe!\nBitte neuen Wert eingeben:\t");
                            Console.ResetColor();
                            unternehmen = Console.ReadLine();
                        }
                    }
                    Console.ReadKey();
                    break;

                case 7:
                    if (Benutzer.player.TaxiUnternehmen.Count != 0)
                    {
                        int AnzahlMonate = Intervall.IntervallLaenge();
                        for (int i = 0; i < AnzahlMonate; ++i)
                        {
                            Intervall.EinnahmenAusTaxiFahrten();
                            //hack spritkosten
                            //hackversicherungskosten?
                            Bank.EinzugVerbindlichkeiten();
                            //hack Personalkosten
                            //hack Gebäudekosten
                            Console.WriteLine();
                            string ausgabe = "Taxi faehrt...";
                            for (int j = 0; j < 3; j++)
                            {
                                foreach (var a in ausgabe)
                                {
                                    Console.Write(a);
                                    Thread.Sleep(50);
                                }
                                Console.WriteLine();
                            }
                        }
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.DarkRed;
                        Console.WriteLine("\nSie koennen noch kein Umsatz generieren!\nBitte kaufen sie ein Taxi.");
                        Console.ReadKey();
                        Console.ResetColor();
                    }
                    break;

                case 8:
                    Console.Clear();
                    Console.WriteLine("Waehlen Sie eine Option aus:\n");

                    Regex möglichkeiten = new Regex("^[1-7]$");
                    int   n             = 0;
                    foreach (var a in BWL.alleBla)
                    {
                        n++;
                        Console.WriteLine(n + ". " + a);
                    }
                    Console.Write("\n\nBitte waehlen Sie eine Funktion:\t");
                    string funktion = Console.ReadLine();
                    while (!möglichkeiten.IsMatch(funktion))
                    {
                        Console.Write("\nUngueltige Eingabe! Bitte erneut waehlen:\t");
                        funktion = Console.ReadLine();
                    }

                    try
                    {
                        double wert = Convert.ToInt32(funktion);
                    }
                    catch
                    {
                        Console.WriteLine("\n\nNicht moeglich!");
                        Thread.Sleep(200);
                        return;
                    }

                    switch (Convert.ToInt32(funktion))
                    {
                    //todo fehlerbehandlungen bei allen
                    case 1:
                        Console.Write("\nSie haben ");
                        Console.ForegroundColor = ConsoleColor.DarkBlue;
                        Console.Write(BWL.alleBla[Convert.ToInt32(funktion) - 1]);
                        Console.ResetColor();
                        Console.WriteLine(" gewaehlt!");

                        Console.WriteLine("\nBitte geben Sie ein.\n");
                        Console.Write("Zinssatz:\t\t");
                        double zinssatz = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Laufzeit:\t\t");
                        int laufzeit = Convert.ToInt32(Console.ReadLine());

                        double rbf = BWL.RBF(zinssatz, laufzeit);
                        Console.WriteLine("\n\nRBF:\t\t" + MainClass.ZahlenAnzeigen(rbf));
                        Console.ReadKey();
                        LoadScreen();
                        break;

                    case 2:
                        Console.Write("\nSie haben ");
                        Console.ForegroundColor = ConsoleColor.DarkBlue;
                        Console.Write(BWL.alleBla[Convert.ToInt32(funktion) - 1]);
                        Console.ResetColor();
                        Console.WriteLine(" gewaehlt!");

                        Console.WriteLine("\nBitte geben Sie ein.\n");
                        Console.Write("Investition:\t\t");
                        double investition = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Zinssatz:\t\t");
                        zinssatz = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Konstante Einnahmen:\t");
                        double c = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Laufzeit:\t\t");
                        laufzeit = Convert.ToInt32(Console.ReadLine());

                        double kw = BWL.Kapitalwert(investition, zinssatz, c, laufzeit);
                        Console.WriteLine("\n\nKapitalwert:\t\t" + MainClass.ZahlenAnzeigen(kw));
                        Console.ReadKey();
                        LoadScreen();
                        break;

                    case 3:
                        Console.Write("\nSie haben ");
                        Console.ForegroundColor = ConsoleColor.DarkBlue;
                        Console.Write(BWL.alleBla[Convert.ToInt32(funktion) - 1]);
                        Console.ResetColor();
                        Console.WriteLine(" gewaehlt!");

                        Console.WriteLine("\nBitte geben Sie ein.\n");
                        Console.Write("Konstante Einnahmen:\t");
                        c = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Zinssatz:\t\t");
                        zinssatz = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Laufzeit:\t\t");
                        laufzeit = Convert.ToInt32(Console.ReadLine());

                        double sb = BWL.Sparbetrag(c, zinssatz, laufzeit);
                        Console.WriteLine("\n\nKapitalwert:\t\t" + MainClass.ZahlenAnzeigen(sb));
                        Console.ReadKey();
                        LoadScreen();
                        break;

                    case 4:
                        Console.Write("\nSie haben ");
                        Console.ForegroundColor = ConsoleColor.DarkBlue;
                        Console.Write(BWL.alleBla[Convert.ToInt32(funktion) - 1]);
                        Console.ResetColor();
                        Console.WriteLine(" gewaehlt!");

                        Console.WriteLine("\nBitte geben Sie ein.\n");
                        Console.Write("Konstante Einnahmen:\t");
                        c = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Zinssatz:\t\t");
                        zinssatz = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Laufzeit:\t\t");
                        laufzeit = Convert.ToInt32(Console.ReadLine());

                        double js = BWL.Sparbetrag(c, zinssatz, laufzeit);
                        Console.WriteLine("\n\nKapitalwert:\t\t" + MainClass.ZahlenAnzeigen(js));
                        Console.ReadKey();
                        LoadScreen();
                        break;

                    case 5:
                        Console.Write("\nSie haben ");
                        Console.ForegroundColor = ConsoleColor.DarkBlue;
                        Console.Write(BWL.alleBla[Convert.ToInt32(funktion) - 1]);
                        Console.ResetColor();
                        Console.WriteLine(" gewaehlt!");

                        Console.WriteLine("\nBitte geben Sie ein.\n");
                        Console.Write("Konstante Einnahmen:\t");
                        c = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Ausgabe:\t");
                        double ausgabe = Convert.ToDouble(Console.ReadLine());

                        double kwf1 = BWL.KWF1(c, ausgabe);
                        Console.WriteLine("\n\nKWF1:\t\t" + MainClass.ZahlenAnzeigen(kwf1));
                        Console.ReadKey();
                        LoadScreen();
                        break;

                    case 6:
                        Console.Write("\nSie haben ");
                        Console.ForegroundColor = ConsoleColor.DarkBlue;
                        Console.Write(BWL.alleBla[Convert.ToInt32(funktion) - 1]);
                        Console.ResetColor();
                        Console.WriteLine(" gewaehlt!");

                        Console.WriteLine("\nBitte geben Sie ein.\n");
                        Console.Write("Zinssatz:\t\t");
                        zinssatz = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Laufzeit:\t\t");
                        laufzeit = Convert.ToInt32(Console.ReadLine());

                        double kwf2 = BWL.KWF2(zinssatz, laufzeit);
                        Console.WriteLine("\n\nKWF2:\t\t" + MainClass.ZahlenAnzeigen(kwf2));
                        Console.ReadKey();
                        LoadScreen();
                        break;

                    case 7:
                        Console.Write("\nSie haben ");
                        Console.ForegroundColor = ConsoleColor.DarkBlue;
                        Console.Write(BWL.alleBla[Convert.ToInt32(funktion) - 1]);
                        Console.ResetColor();
                        Console.WriteLine(" gewaehlt!");

                        Console.WriteLine("\nBitte geben Sie ein.\n");
                        Console.Write("Konstante Einnahmen:\t");
                        c = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Ausgabe:\t");
                        ausgabe = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Zinssatz:\t\t");
                        zinssatz = Convert.ToDouble(Console.ReadLine());

                        double ad = BWL.Amortisationsdauer(c, ausgabe, zinssatz);
                        Console.WriteLine("\n\nAmortisationsdauer:\t\t" + MainClass.ZahlenAnzeigen(ad));
                        Console.ReadKey();
                        LoadScreen();
                        break;
                    }
                    break;

                case 9:
                    SuL.speicherDaten();
                    break;

                case 10:
                    EndGame();
                    break;
                }
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.DarkRed;
                Console.WriteLine("\nUngueltige Eingabe! Bitte nochmal ausfuehren.");
                Console.ResetColor();
                Thread.Sleep(1000);
                Hauptmenü();
            }
        }