C# - Błąd w kodzie

0

Ostatnio pisałem Grę w c#,niestety po pewnym czasie kompilator pokazał mi błąd którego nie potrafię naprawić:
Po wybraniu akcji którą bohater miałby wykonać(pokój 1), konsola wyświetla także 2 akcji (pokój 2).
Na wszelki wypadek podaje także kod gry(miejsce w którym gra się wyłącza jest pogrubione): namespace TxtDungeon
{
class Program
{
static void Main(string[] args)
{
//Tu będą wszystkie zmienne gry.
string wybórpomieszczenia1;
string imiebohatera;
string wybor;
Console.WriteLine("Witaj w grze Tekstowy Loch");
Console.WriteLine("Menu Główne:");
Console.WriteLine("Rozpocznij Przygode");
Console.WriteLine("Twórcy");
wybor = Console.ReadLine();
if(wybor == "Rozpocznij Przygode")
{
//Tu piszemy grę
Console.WriteLine("Witaj człowieku.");
Console.WriteLine("Teraz zaczniesz swoją przygode.(Znajdujesz się w przed wejściem do lochów.");
Console.WriteLine("Ale najpierw powiedz mi... jak się nazywasz?");

            imiebohatera = Console.ReadLine();
            Console.WriteLine("Hmmm a więc dobrze " + imiebohatera + "....");
            Console.WriteLine("Teraz wejdź do lochów. Twoja przygoda się rozpoczeła.");
            Console.WriteLine("Aktualne punkty to 1");
            Console.WriteLine("są 3 pomieszczenia, do którego chcesz wejść?");
            wybórpomieszczenia1 = Console.ReadLine();
            if(wybórpomieszczenia1 == "1")
            {
                //tu jes błąd napraw go (linijka poniżej)
                Console.WriteLine("Gratulacje!!!! Nic cię nie dopadło! Przechodzisz dalej!!!!");
                Console.ReadLine();
            }
            if(wybórpomieszczenia1 == "2")
            {
                Console.WriteLine("Ups!!!! W tym pomieszczeniu była zapadnia przegrywasz" + imiebohatera +  ":(.");
                Console.ReadLine();
            }
            if (wybórpomieszczenia1 == "3") ;
            {
                Console.WriteLine("Hej w tym pomieszczeniu na podłodze są kolce. Niestety przegrywasz :(. Po tobie " + imiebohatera);
               
            }
            Console.WriteLine("Aktualne punkty to 2");
            Console.WriteLine("Hej to król szkieletów! " + imiebohatera + "pokonaj go!");
            Console.WriteLine("Jaki cios wybierasz.");



        }
        if(wybor == "Twórcy")
        {
            //Tu piszemy panel twórców
            Console.WriteLine("TWÓRCY");
            Console.WriteLine("Programowanie: WinterHunterGames");
        }

        Console.ReadLine();
    }
}

}

Proszę o pomoc,bo gra jest dla mnie ważna.

1
 string wybórpomieszczenia1;

zamień na int wybórpomieszczenia1;

.
Następnie 
```csharp
 wybórpomieszczenia1 = Console.ReadLine();

zamień na bool res = int.TryParse(""są 3 pomieszczenia, do którego chcesz wejść?", out wybórpomieszczenia1);

. Później sprawdź czy res jest true i wykonuj dalsze czynności sprawdzając zmienną wybórpomieszczenia1.
0

Apostrof się zły wkradł, poprawna wersja:

 bool res = int.TryParse("są 3 pomieszczenia, do którego chcesz wejść?", out  wybórpomieszczenia1);
0

Błąd masz dlatego, bo nigdzie nie przypisujesz wartości wpisanej przez uzytkownika w tym miejscu.
Wybory gracza zczytuj jako cyfry do zmiennej int, a potem użyj instrukcji switch, mniej więcej coś takiego:

int roomChoice = int.Parse(Console.ReadLine());
            switch(roomChoice)
            {
                case 1:
                    //do someting
                    break;
                case 2:
                    //do something
                    break;
                case 3:
                    //do something
                    break;
            } 

Dodatkowo instrukcje, które będą w miejscu komentarzy wydziel do osobnych metod i tam je wywołuj.

1 użytkowników online, w tym zalogowanych: 0, gości: 1