Beispiel #1
0
        //Samma som oven

        public int Room1(int levelnfo, int visited, string characterName, int characterType)
        {
            int    tittaIKyl   = 0;     //För att hålla koll på hur många spelaren redan letat på ett visst ställe
            int    tittaISkänk = 0;
            bool   letat       = false; //För att kolla om spelaren letat och kunna ge rätt text vid utgång och även i ryggsäcken
            string choice;              //Input från spelaren om vart det ska "letas"

            string houseArt = @"
    ) )        /\
    =====      /  \
   _|___|_____/ __ \____________
  |::::::::::/ |  | \:::::::::::|
  |:::::::::/  ====  \::::::::::|   
  |::::::::/__________\:::::::::|
  |_________|  ____  |__________|
  | ______ | / || \ | _______ |
  ||  |   || ====== ||   |   ||
  ||--+---|| |    | ||---+---||
  ||__|___|| |   o| ||___|___||
  |========| |____| |=========|
  (^^-^^^^^-|________|-^^^--^^^)
  (,, , ,, ,/________\,,,, ,, ,)
 ','',,,,' /__________\,,,',',;;";

            string leavingArt = @"
oOOO()
/ _)
| (
\__)  ()OOOo
       (_  \
         ) |
oOOO() (__ /
/ _)
| (
\__)  ()OOOo
       (_  \
         ) |
        (__/";


            //Vi kollar om du varit här tidigare och ger dig korrekt text

            if (visited > 0)
            {
                if (levelnfo == 1) // Om det inte är lika med 1 så betyder det att du har dött och ska Respawna
                {
                    Console.Clear();
                    Console.WriteLine("***************************************\n");
                    Console.WriteLine("Glömt något? " + characterName);
                    Console.WriteLine("");
                    Console.WriteLine(houseArt);
                    Console.WriteLine("\nVälj: 'kylskåp', en 'skänk' och en 'dörr'");
                }
                else
                {
                    //När du dött och förlorar allt du plockat på dig tidigare
                    Console.Clear();
                    Console.WriteLine("***************************************\n");
                    Console.WriteLine(characterName + " is Dead. Respawn i huset");
                    Console.WriteLine(houseArt);
                    Console.WriteLine("");
                    Console.WriteLine("Var vill du leta? 'kylskåp' 'skänk' eller 'dörr'? Tänk på att dörren tar dig ut från huset");
                    tittaISkänk         = 0;
                    tittaIKyl           = 0;
                    inventory.hasGun    = false;
                    inventory.hasKey    = false;
                    inventory.hasMap    = false;
                    inventory.hasSalmon = false;
                    inventory.hasTicket = false;
                    inventory.hasWallet = false;
                }
            }
            else //Första meddelandet du får vid start
            {
                Console.Clear();
                Console.WriteLine("***************************************\n");
                Console.WriteLine("Godmorgon! " + characterName);
                Console.WriteLine("");
                Console.Write("Du har precis vaknat i ett främmande hus efter en riktig brakfest.\nDin uppgift är att försöka ta dig hem.\n");
                Console.WriteLine(houseArt);
                Console.WriteLine("\nI huset ser du ett bland annat ett 'kylskåp', en 'skänk' och en 'dörr'");
                Console.WriteLine("Skriv vart vill du börja leta för att hitta hem?");
            }

            //Tar input från användaren och omvandlar till små bokstäver
            choice = Console.ReadLine().ToLower();
            Console.Clear();

            //Kör igenom valen en gång först, sen loop tills choice = dörr
            do
            {
                switch (choice)
                {
                case "kylskåp":

                    if (tittaIKyl == 0)
                    {
                        Console.Clear();
                        Console.WriteLine("***************************************\n");
                        Console.WriteLine("I kylskåpet låg massa öl, kan vara gött med en återställare kanske. Men det är viktigare att komma hem.");
                        Console.WriteLine("En lax hittade du med, den sparar vi. Kan man kankske lura iväg vilda djur med på vägen.\n");

                        inventory.hasSalmon = true;     //Fyller på "inventoryn" med lax


                        letat = true;

                        //En metod för att fråga och visa inventoryn. Argument. Letat är för att visa att vi har lagt till en sak iinvetoryn
                        inventory.ShowInv(characterType, letat);
                    }
                    if (tittaIKyl > 0)
                    {
                        if (tittaIKyl == 1)
                        {
                            Console.Clear();
                            Console.WriteLine("***************************************\n");
                            Console.WriteLine("Du har redan varit här och letat en gång.");
                            Console.WriteLine("\nEnter för att fortsätta");
                            Console.ReadKey();
                        }
                        else
                        {
                            Console.Clear();
                            Console.WriteLine("***************************************\n");
                            Console.WriteLine($"Du har redan varit här och letat {tittaIKyl} gånger.");
                        }
                        Console.WriteLine("Onödigt att leta på samma ställe igen, välj ett annat alterativ");
                        Console.WriteLine("\nEnter för att fortsätta");
                        Console.ReadKey();
                        letat = true;
                    }
                    tittaIKyl++;
                    break;

                case "skänk":

                    if (tittaISkänk == 0)
                    {
                        Console.Clear();
                        Console.WriteLine("***************************************\n");
                        Console.WriteLine("Du hittade en nyckel och din plånbok. Dom sparar vi!\n");

                        inventory.hasWallet = true;     //Fyller på "inventoryn" med plånbok
                        inventory.hasKey    = true;     //Fyller på "inventoryn" med en nyckel

                        letat = true;


                        //En metod för att fråga och visa inventoryn. Argument. Letat(bool = true) är för att visa 'item added'
                        inventory.ShowInv(characterType, letat);
                    }
                    if (tittaISkänk > 0)
                    {
                        if (tittaISkänk == 1)
                        {
                            Console.Clear();
                            Console.WriteLine("***************************************\n");
                            Console.WriteLine("Du har redan varit här och letat en gång.");
                            Console.WriteLine("\nEnter för att fortsätta");
                            Console.ReadKey();
                        }
                        else
                        {
                            Console.Clear();
                            Console.WriteLine("***************************************\n");
                            Console.WriteLine($"Du har redan varit här och letat {tittaISkänk} gånger.");
                        }
                        Console.WriteLine("Onödigt att leta på samma ställe igen, välj ett annat alterativ");
                        Console.WriteLine("\nEnter för att fortsätta");
                        Console.ReadKey();
                        letat = true;
                    }

                    tittaISkänk++;
                    break;

                case "easter":
                    return(3);

                default:
                    //När det blir fel
                    while (choice != "kylskåp" && choice != "skänk" && choice != "dörr")
                    {
                        Console.Clear();
                        Console.WriteLine("***************************************\n");
                        Console.WriteLine("Fel input.");
                        Console.WriteLine(@"Skriv: 'kylskåp' 'skänk' eller 'dörr':");
                        choice = Console.ReadLine().ToLower();
                        Console.Clear();
                    }
                    continue;
                }

                //Om du har letat ska du få ny text och nya val
                if (letat)
                {
                    Console.Clear();
                    Console.WriteLine("***************************************\n");
                    Console.WriteLine("Vill du leta mer eller kanske använda dörren?");
                    Console.WriteLine(@"Välj 'kylskåp' 'skänk' eller 'dörr':");
                    choice = Console.ReadLine().ToLower();
                    Console.Clear();
                }
            } while (choice != "dörr");


            if (letat)
            {
                Console.Clear();
                Console.WriteLine("***************************************\n");
                Console.WriteLine(leavingArt);
                Console.WriteLine("Du gick ut till trädgården.");
                Console.WriteLine("\nEnter för att fortsätta");
                Console.ReadKey();
            }
            else
            {
                Console.Clear();
                Console.WriteLine("***************************************\n");
                Console.WriteLine(leavingArt);
                Console.WriteLine("Du gick ut, det var lite dumt. För nu har du inget med dig.");
                Console.WriteLine("\nEnter för att fortsätta");
                Console.ReadKey();
            }
            return(0);
        }
Beispiel #2
0
        public int Room2(int fromLevel, int visited, int characterType)
        {
            string bodart = @"
      __________
     ///////////\
    ///////////  \
    |    _    |  |
    |   | |   |  |
    |   | |   |  |
mmm_________________mmmmmm__mmmmm_mm_____

";



            int nextLevelInfo = 0;  // 1 = Gå vidare till Vägen, 2 = Tillbaka till huset

            string choice = "";

            if (fromLevel == 1 && visited > 0) //Om du kommer från huset, med redan varit här
            {
                Console.Clear();
                Console.WriteLine("****************************************\n");
                Console.WriteLine("Hoppas du hittade vad du sökte i huset.");
                Console.WriteLine("Du står precis utanför dörren och ser en bod och massa skog.");
                Console.WriteLine("Du går bort till boden");
                Console.WriteLine("\nTryck Enter för att forsätta");
                choice = "bod";
                Console.ReadKey();
            }

            if (visited == 0)
            {
                do //Först gången du är här
                {
                    Console.Clear();
                    Console.WriteLine(" ****************************************\n");
                    Console.WriteLine("Du gick ut genom dörren, när du gjorde det trampade du på dörrmattan\nDet praslade till.\n");
                    Console.WriteLine("Du lyfte på mattan och såg en karta.\nVill du plocka upp kartan\n");
                    Console.WriteLine("Tryck J / N");
                    choice = Console.ReadKey().Key.ToString();
                    if (choice.ToUpper() == "J")
                    {
                        inventory.hasMap = true;

                        Console.Clear();
                        Console.WriteLine("****************************************\n");
                        Console.WriteLine("Du plockade upp kartan");
                        //En metod för att fråga och visa inventoryn. Argument. True är för att visa att vi har lagt till en sak iinvetoryn
                        inventory.ShowInv(characterType, true);

                        Console.WriteLine("****************************************\n");
                        Console.WriteLine("Du går ned för trappan till trädgården där ser du en bod");
                        Console.WriteLine(bodart);

                        Console.WriteLine("\nTryck Enter för att forsätta");
                        Console.ReadKey();
                        Console.Clear();
                    }
                    else if (choice == "N")
                    {
                        Console.Clear();
                        Console.WriteLine("****************************************\n");

                        Console.WriteLine("Du borde plocka upp karta för den kommer blåsa bort snart");
                        Console.WriteLine("Tryck J / N");
                        choice = Console.ReadKey().Key.ToString();
                        if (choice == "N")
                        {
                            Console.WriteLine("\nNähe, då går vi vidare");
                            Console.ReadKey();
                        }
                        else
                        {
                            Console.Clear();
                            //En metod för att fråga och visa inventoryn. Argument. True är för att visa att vi har lagt till en sak iinvetoryn
                            inventory.ShowInv(characterType, true);
                            inventory.hasMap = true;
                        }
                    }
                } while (choice != "J" && choice != "N");
            }


            if (fromLevel == 3) //Om du kommer från Vägen
            {
                Console.Clear();
                Console.WriteLine("****************************************\n");
                Console.WriteLine("Behöver du något mer?");
                Console.WriteLine("VIll du gå bort till boden eller tillbaka in i huset?\n");
                Console.WriteLine("Välj 'bod eller 'huset'");
                choice = Console.ReadKey().Key.ToString();
            }

            do
            {
                switch (choice)
                {
                //plocka upp karta
                case "J":
                    choice = "bod";

                    continue;

                case "N":

                    choice = "bod";

                    continue;

                //besöka bod och plocka upp gevär
                case "bod":

                    Console.Clear();
                    Console.WriteLine("****************************************\n");
                    Console.WriteLine(bodart);
                    if (!inventory.hasGun)
                    {
                        Console.Clear();
                        Console.WriteLine("****************************************\n");
                        Console.WriteLine("Du öppnade dörren till boden och ser en " + (WeaponType)characterType + "\ndetta kan vara bra att ha, du stoppar ner det i din " + (BagType)characterType);
                        Console.WriteLine("");
                        inventory.hasGun = true;
                        inventory.ShowInv(characterType, true);
                        Console.WriteLine("****************************************\n");
                        Console.WriteLine("Du vänder dig om och ser en grind som du går mot");
                        Console.WriteLine("\nTryck Enter för att forsätta");
                        choice = "grind";

                        Console.ReadKey();
                    }
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("****************************************\n");
                        Console.WriteLine("Du hittar inget nytt härborta, med du ser en grinden som du går mot.\n");
                        Console.WriteLine("\nTryck Enter för att forsätta");
                        choice = "grind";
                        Console.ReadKey();
                    }



                    break;

                //Försöka ta sig ut från grinden
                case "grind":
                    Console.Clear();
                    Console.WriteLine("****************************************\n");
                    Console.WriteLine("Grinden är låst, hoppas du har nyckeln med dig");
                    if (inventory.hasKey)
                    {
                        Console.WriteLine("Tur att du hittade nycklen förut, du låter nyckeln vara kvar i låset och går vidare ut på vägen...");
                        Console.WriteLine("\nTryck Enter för att forsätta");
                        Console.ReadKey();
                        nextLevelInfo    = 3;
                        inventory.hasKey = false;
                        return(nextLevelInfo);
                    }
                    else
                    {
                        Console.WriteLine("Ingen nyckel?\n");
                        Console.WriteLine("Det är nog bästa att du går tillbaka till huset och letar igen");
                        Console.WriteLine("Tryck enter för gå tillbaka till huset\n");
                        Console.ReadKey();
                        nextLevelInfo = 1;
                        return(nextLevelInfo);
                    }


                case "huset":

                    Console.WriteLine("****************************************\n");
                    Console.WriteLine("Till huset om \n");
                    Console.Write("3...");
                    System.Threading.Thread.Sleep(500);
                    Console.Write("2...");
                    System.Threading.Thread.Sleep(500);
                    Console.Write("1...");
                    System.Threading.Thread.Sleep(500);
                    nextLevelInfo = 1;
                    return(nextLevelInfo);

                default:
                    Console.Clear();
                    Console.WriteLine("Fel input. Tips, använd dessa");
                    Console.WriteLine("Välj 'bod' 'grind' 'huset':");
                    choice = Console.ReadLine().ToLower();
                    continue;
                } //End switch case
            } while (nextLevelInfo != 1 || nextLevelInfo != 2);

            return(nextLevelInfo);
        }