C# :: Aufgabe #275 :: Lösung #2

5 Lösungen Lösungen öffentlich
#275

Glücksspiel Zufällige Zahl 0-9

Fortgeschrittener - C# von re_mas - 27.11.2019 um 18:30 Uhr
Die Aufgabenstellung ist wie folgt:
- Glücksspiel bei der eine random Zahl zwischen 0 - 9 erzeugt werden soll.
- Der Spieler hat ein Startkonto von 10.000 Punkten und kann damit einen beliebigen Teilbetrag auf die zufällig erzeugte Zahl setzen.
- Liegt er richtig bekommt er das 9 Fache seines Einsatzes als Gewinn
- Programmieren Sie ein entsprechendes Programm, welches die Eingaben von der Tastatur einliest und
die Ausgaben auf dem Bildschirm liefert. Die zu erratende Zahl kann durch einen verfügbaren Zufallsgenerator gezogen werden.
#2
vote_ok
von Heftog (160 Punkte) - 19.12.2019 um 23:46 Uhr
Quellcode ausblenden C#-Code
private static void Aufgabe_275()
        {
            int coins = 10000;
            int gameSize = 9;
            string wrongInput = $"\nUngültiger Wert, versuch es nochmal.\n";
            string randomValueChar = "r".ToUpperInvariant();
            string userInput;
            int gameResult;

            Console.WriteLine($"\n\n\n    Willkommen zum 275er. Ja heißt halt so.");
            while (coins > 0)
            {
                int inputTipResult = -1;
                int inputCoinResult;
                WriteLineInColor_275A("\n\n###############################################################\n\nNeue Runde, neues Glück ;)\n\n",ConsoleColor.DarkMagenta);
                while (true)
                {
                    Console.WriteLine($"\nEine Zahl zwischen 0 und {gameSize} oder 'r' für einen zufälliger Tipp\nGib deinen Tipp ein: ");
                    userInput = Console.ReadLine();
                    if (userInput.ToUpperInvariant() == randomValueChar) { break; }
                    if (int.TryParse(userInput, out inputTipResult) && inputTipResult >= 0 && inputTipResult <= gameSize) { break; }
                   
                    Console.Clear();
                    WriteLineInColor_275A(wrongInput, ConsoleColor.Red);
                }

                if (userInput.ToUpperInvariant() == randomValueChar)
                {
                    inputTipResult = new Random().Next(0, 9);
                }

                while (true)
                {
                    WriteLineInColor_275A($"Tipp: {inputTipResult}",ConsoleColor.Green);
                    Console.WriteLine($"\nDu hast {coins.ToString("#,###")} Coins.\nSetze deinen Einsatz (0-{coins.ToString("#,###")}):");
                    userInput = Console.ReadLine();
                    
                    if (int.TryParse(userInput, out inputCoinResult) && inputCoinResult >= 0 && inputCoinResult <= coins) { break; }
                    
                    Console.Clear();
                    WriteLineInColor_275A(wrongInput,ConsoleColor.Red);
                }

                coins -= inputCoinResult;
                WriteLineInColor_275A($"\nEinsatz: {inputCoinResult.ToString("#,###")}",ConsoleColor.Green);

                gameResult = new Random().Next(0, gameSize);
                WriteLineInColor_275A($"\nEs wurde {gameResult} gewürfelt.\n",ConsoleColor.Blue);

                if (gameResult == inputTipResult)
                {
                    WriteLineInColor_275A($"Du hast gewonnen. Es werden dir {(inputCoinResult * 9).ToString("#,###")} coins gutgeschrieben.\nDein neues Guthaben: {(coins += inputCoinResult * 9).ToString("#,###")}",ConsoleColor.Green);
                }
                else
                {
                    WriteLineInColor_275A("Leider daneben.",ConsoleColor.Red);
                }
                WriteLineInColor_275A("AnyKey, den mal finden",ConsoleColor.DarkGray);
                Console.ReadKey();
                Console.Clear();
            }
            Console.WriteLine("Game Over. Genug gespielt, gute Nacht.");
        }

Quellcode ausblenden C#-Code
private static void WriteLineInColor_275A(string consoleOutput, ConsoleColor color)
        {
            Console.ForegroundColor = color;
            Console.WriteLine(consoleOutput);
            Console.ForegroundColor = ConsoleColor.White;
        }

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben