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(); } }
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; }
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ü(); } }