예제 #1
0
        public static Unternehmen unternehmenGruenden(Benutzer gründer)
        {
            Console.Write("\nWie soll ihr Unternehmen heissen:\t");
            string        companyName       = Console.ReadLine();
            List <string> unternehmensNamen = new List <string>();

            foreach (var a in gründer.TaxiUnternehmen)
            {
                unternehmensNamen.Add(a.Name);
            }

            while (true)
            {
                if (companyName != "" && companyName != null && !unternehmensNamen.Contains(companyName))
                {
                    Console.Write("\n\nWie viel Geld wollen Sie in das Unternehmen einlegen?\t");
                    string input       = Console.ReadLine();
                    Regex  kommaZahlen = new Regex("^[0-9.]+$");

                    while (!kommaZahlen.IsMatch(input))
                    {
                        Console.ForegroundColor = ConsoleColor.DarkRed;
                        Console.Write("\n\nUngueltige Eingabe!\nBitte neuen Wert eingeben:\t");
                        Console.ResetColor();
                        input = Console.ReadLine();
                    }

                    double einlage = Convert.ToDouble(input);

                    while (einlage > gründer.Kapital)
                    {
                        Console.ForegroundColor = ConsoleColor.DarkRed;
                        Console.Write("Sie haben nicht so viel Kapital!\nBitte passenden Betrag eingeben:\t");
                        Console.ResetColor();
                        einlage = Convert.ToDouble(Console.ReadLine());
                    }

                    gründer.Kapital -= einlage;

                    Unternehmen neuesUnternehmen = new Unternehmen(companyName, gründer, einlage);
                    Console.Clear();
                    Console.WriteLine("Das Unternehmen wurde gegruendet!\n\n");
                    Console.WriteLine(neuesUnternehmen + "\n\n");

                    return(neuesUnternehmen);
                }
                Console.ForegroundColor = ConsoleColor.DarkRed;
                Console.Write("\n\nUngueltige Eingabe!\nBitte erneut eingeben:\t");
                Console.ResetColor();
                companyName = Console.ReadLine();
            }
        }
예제 #2
0
        public static void ladeDaten()
        {
            StreamReader LadeSpielerDaten = null;

            Console.Write("Bitte tippe deinen Namen ein:\t");
            string BenutzerName = Console.ReadLine();

            Benutzer.player = new Benutzer(BenutzerName);
            int Exception = 0;

            try
            {
                LadeSpielerDaten = new StreamReader(Benutzer.player.Name + ".txt");

                Benutzer.player.Kapital = Convert.ToInt32(LadeSpielerDaten.ReadLine());
                int AnzahlUnternehmen = Convert.ToInt32(LadeSpielerDaten.ReadLine());
                Exception = 1;
                for (int i = 0; i < AnzahlUnternehmen; ++i)
                {
                    // müssen wir Mal genau durchdenken, ob dass so Sinn ergibt...
                    Unternehmen neuesUnternehmen = new Unternehmen("", Benutzer.player, 0);
                    Benutzer.player.TaxiUnternehmen.Add(neuesUnternehmen);

                    // Lade Zeile für Zeile UnternehmensDaten
                    Benutzer.player.TaxiUnternehmen[i].Name              = LadeSpielerDaten.ReadLine();
                    Benutzer.player.TaxiUnternehmen[i].Kapital           = Convert.ToInt32(LadeSpielerDaten.ReadLine());
                    Benutzer.player.TaxiUnternehmen[i].Verbindlichkeiten = Convert.ToInt32(LadeSpielerDaten.ReadLine());
                    Benutzer.player.TaxiUnternehmen[i].montlKredit       = Convert.ToInt32(LadeSpielerDaten.ReadLine());
                    int AnzahlTaxis = Convert.ToInt32(LadeSpielerDaten.ReadLine());

                    for (int p = 0; p < AnzahlTaxis; ++p)
                    {
                        string tmp = LadeSpielerDaten.ReadLine();
                        ImportHashSetTaxi(tmp, i, p);
                    }
                }
                LadeSpielerDaten.Close();
            }
            catch
            { if (Exception == 0)
              {
                  Console.WriteLine("Es ist ein fehler aufgetreten! \nDie Datei die sie suchen existiert nicht.\n\n DAS SPIEL WIRD BEENDET");
                  Console.ReadKey();
                  MainClass.LoadScreen();
                  MainClass.EndGame();
              }
              else if (Exception == 1)
              {
                  Console.WriteLine("\nEs ist ein fehler aufgetreten!\n\nIhre Datei ist beschaedigt.\n\n\nDas Spiel wird beendet!");
              }
              MainClass.LoadScreen();
              MainClass.EndGame(); }
            finally
            {
                if (LadeSpielerDaten != null)
                {
                    LadeSpielerDaten.Close();
                }
            }
            //LadeSpielerDaten.Close(); // safetyfirst;
        }
예제 #3
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ü();
            }
        }