Beispiel #1
0
        public void MainMenu()
        {
            var writeMenu             = new WriteMenu();            // Instansiera klassen WriteMenu
            var translate             = new Translate();            // Instansiera klassen Translate
            var playRockPaperScissors = new PlayRockPaperScissor(); // Instansiera klassen PlayRockPaperScissors
            var playHitRightRobber    = new PlayHitRightRobber();   // Instansiera klassen PlayHitRightRobber

            writeMenu.WriteDenMenu();                               // Skriv ut meny

            // en switch för att läsa ut de olika input-valen i menyn
            switch (ReadKey(true).Key)
            {
            case ConsoleKey.D1:                       // vid input 1
                Clear();
                translate.RobberLanguage();
                break;

            case ConsoleKey.D2:                       // vid input 2
                Clear();
                playRockPaperScissors.Game();
                break;

            case ConsoleKey.D3:                       // vid input 3
                playHitRightRobber.Play();
                break;

            case ConsoleKey.Escape:                       // vid input esc
                Clear();
                WriteLine("\n Tack för idag!\n");
                CursorVisible = true;     // Visa cursor
                Environment.Exit(0);
                break;

            default:                                   // vid annan input
                Clear();
                ForegroundColor = ConsoleColor.Yellow; // ändra textfärg
                WriteLine("- Du måste välja något av alternativen. - \n");
                ForegroundColor = ConsoleColor.Gray;
                MainMenu();
                break;
            }
        }
Beispiel #2
0
        public void RobberLanguage()
        {
            var robberDen     = new RobberDen(); // Instansiera klassen Robberden
            var illustrations = new Illustrations();
            var writeMenu     = new WriteMenu(); // Instansiera klassen writemenu

            illustrations.Rovarspraket();
            CursorVisible = true; // Visa cursor
            WriteLine();
            Write(" Skriv in det du vill översätta till rövarspråket: ");
            string             input      = Console.ReadLine().ToLower(); // gör om input till gemener
                        char[] charArray  = input.ToCharArray();          // gör om string till chararray
                        string parsedChar = string.Empty;

            foreach (char var in charArray)
            {
                // Om bokstäverna är konsonanter..
                                if (var != ' ')
                {
                    if (var == 'q' || var == 'w' || var == 'r' || var == 't' || var == 'p' || var == 's' ||
                        var == 'd' || var == 'f' || var == 'g' || var == 'h' || var == 'j' || var == 'k' ||
                        var == 'l' || var == 'z' || var == 'x' || var == 'c' || var == 'v' || var == 'b' ||
                        var == 'n' || var == 'm')
                    {
                        parsedChar += var.ToString() + "o"; // .. lägg till o
                                           
                    }
                }
                parsedChar += var.ToString();
            }

            Console.WriteLine("\n RÖVARSPRÅKET:");
            WriteLine();
            Console.WriteLine(' ' + parsedChar);

            writeMenu.WriteEndOfGameMenu(); // Hämta och skriv ut input val
            RobberLanguage();               // Starta spelet igen
        }
        static readonly TimeSpan playTime = TimeSpan.FromSeconds(15); // Sätt tiden till 15 s

        public void Play()
        {
            var illustrations = new Illustrations(); // Instansiera klassen illustrations
            var robberDen     = new RobberDen();     // Instansiera klassen robberden
            var writeMenu     = new WriteMenu();     // Instansiera klassen writemenu


            Random random = new Random();   // Instansiera system klassen random

            illustrations.HitRightRobber(); // Hämta och skriv ut rubrik

            WriteLine(" Ett annat rövarband härjar i våra skogar.. ");
            WriteLine($" Du har {(int)playTime.TotalSeconds} sekunder på dig att träffa så många rövare du kan");
            WriteLine(" Använd dina snabba fingrar för att matcha bokstäverna.. och skicka rövaren ut ur skogen!");

            writeMenu.WriteEndOfGameMenu();         // Hämta och skriv ut input val

            DateTime start = DateTime.Now;          // Starttiden

            int score = 0;                          // Sätt score till 0

            while (DateTime.Now - start < playTime) // Loop körs så länge tiden är kortare än 15 s
            {
                Clear();
                char robberLocation = (char)random.Next('a', 'z'); // Slumpa fram en bokstav
                WriteLine();
                WriteLine();
                WriteLine(" " + " " + robberLocation);

                char input;
                input = ReadKey().KeyChar;
                if (robberLocation == input) // Om input och slumpad bokstav är lika
                {
                    score++;                 // Lägg till ett poäng
                }
            }

            illustrations.HitRightRobber(); // Hämta och skriv ut rubrik

            if (score < 1)                  // Om poängen är 0
            {
                WriteLine(" Vad är det här? Har du gått över till det andra rövarbandet?");
                WriteLine(" Du skickade iväg " + score + " rövare från skogen..");
            }
            if (score > 0 && score < 11) // Om poängen är från 1 till 10
            {
                WriteLine(" Du behöver öva mer på dina skills. Du skickade bara iväg " + score + " rövare från skogen..");
            }
            if (score > 10 && score < 20) // Om poängen är från 11 till 19
            {
                WriteLine(" Snyggt! Du skickade iväg " + score + " rövare från skogen!");
            }
            if (score > 19) // Om poängen är från 19 och uppåt
            {
                WriteLine(" Du skickade iväg " + score + " rövare från skogen!");
                WriteLine(" Bara en hövding kan ha såna skills!");
            }

            writeMenu.WriteEndOfGameMenu(); // Hämta och skriv ut input val
            Play();                         // Start spelet igen
        }
        public void Game()
        {
            var illustrations = new Illustrations(); // Instansiera klassen Illustrations
            var robberDen     = new RobberDen();     // Instansiera klassen robberden
            var writeMenu     = new WriteMenu();     // Instansiera klassen writemenu

            illustrations.RockPaperScissors();       // Anropa och hämta Rockpaperscissors header

            WriteLine();
            WriteLine(" Det är dags för den årliga prestigefyllda tävlingen Sten Sax Påse.");
            WriteLine(" Kan du slå förra årets vinnare Ås-pelle?");
            WriteLine(" Bäst av tre!");
            writeMenu.WriteEndOfGameMenu(); // Hämta och skriv ut input val
            WriteLine();

            bool round         = true; // Sätt en bool till true för en loop
            int  playerCount   = 0;    // Sätt till 0
            int  computerCount = 0;    // Sätt till 0

            while (round)              // Loop så längee som round = true
            {
                CursorVisible = true;  // Visa cursor
                WriteLine();
                Write(" Sten sax eller påse? ");

                string userInput = Console.ReadLine().ToLower();                      // spara input i variabel, gör om till gemener

                if (userInput == "sten" || userInput == "sax" || userInput == "påse") // Om input är som det ska
                {
                    Random   randomNr     = new Random();                             // Använd slumpade nummer, instansiera klassen
                    string[] hands        = { "sten", "sax", "påse" };                // stringarray med händerna
                    int      randomNumber = randomNr.Next(0, 3);                      // Låt datorn slumpa ett nummer mellan 1 och 3
                    string   computerHand = hands[randomNumber];                      // gör om till string

                    Clear();
                    WriteLine();
                    WriteLine($" Ås-Pelle spelade {computerHand}");
                    WriteLine();

                    if (computerHand == userInput)          // Om datorhand och input är samma
                    {
                        Points(playerCount, computerCount); // Skriv ut poängtavla
                        WriteLine(" Det blev lika!");
                    }
                    else if (
                        computerHand == "sten" && userInput == "sax" ||
                        computerHand == "sax" && userInput == "påse" ||
                        computerHand == "påse" && userInput == "sten") // Om datorhand vinner
                    {
                        computerCount += 1;                            // Lägg till ett poäng
                        Points(playerCount, computerCount);            // Skriv ut poängtavla
                        WriteLine(" Ett poäng till Ås-pelle..");
                    }
                    else
                    {
                        playerCount += 1;                   // Lägg till ett poäng
                        Points(playerCount, computerCount); // Skriv ut poängtavla
                        WriteLine(" Bra! Ett poäng!");
                    }

                    if (playerCount >= 3 && playerCount > computerCount)        // player har mer än 3 poäng och mer än ås-pelle
                    {
                        illustrations.Chief();                                  // Hämta och skriv ut chief
                        round = false;                                          // Hoppa ur loopen
                    }
                    else if (computerCount >= 3 && playerCount < computerCount) // Om ås-pelle har mer än 3 poäng och mer än player
                    {
                        WriteLine();
                        WriteLine(" Du förlorade.. Typiskt! Ett år till med Ås-pelle på tronen.");
                        round = false; // Hoppa ur loopen
                    }
                }
            } // s**t på while

            writeMenu.WriteEndOfGameMenu(); // Hämta och skriv ut input val
            Game(); // Starta spelet igen
        }