예제 #1
0
 /// <summary>
 /// Paraméter nélkül megadja a szoba leírását.
 /// Ha megadunk egy tárgyat mögötte, akkor annak a leírását adja vissza ha látjuk és a szobában van.
 /// </summary>
 /// <param name="nev"></param>
 /// <returns></returns>
 public string Nezd(string nev)
 {
     if (nev != "")
     {
         if (Ellenorzo.Lathato(nev))
         {
             if (Ellenorzo.Elerheto(nev))
             {
                 if (nev == "kád")
                 {
                     targyak.First(x => x.neve == "feszítővas").lathato = true;
                 }
                 return(targyak.First(x => x.neve == nev).leiras);
             }
             return($"A(z) {nev} nem ebben a szobában van.");
         }
         return($"Nem látok {targyak.First(x => x.neve == nev).neve}-(a)t");
     }
     else
     {
         return(haz.First(x => x.id == jatekos.Helye).leiras);
     }
 }
예제 #2
0
        static void Main()
        {
            //A játék addig tart amíg a nyert nem lesz true. addig folyamatosan kér új parancsokat.

            TaroloEljarasok.Inicializalas();

            Console.WriteLine("Adjon meg egy parancsot");
            do
            {
                string   beadott     = Console.ReadLine();
                string[] ertelmezett = ertelmezes(beadott);

                switch (ertelmezett[0])
                {
                case "leltár":
                    parancsok.Leltaram();
                    break;

                case "nézd":
                    Console.WriteLine(parancsok.Nezd(ertelmezett[1]));
                    break;

                case "nyisd":
                    if (ertelmezett[1] == "")
                    {
                        Console.WriteLine("Mit nyissak ki?");
                    }
                    else if (Ellenorzo.Elerheto(ertelmezett[1]))
                    {
                        parancsok.Nyisd(ertelmezett[1], ertelmezett[2]);
                    }
                    else
                    {
                        Console.WriteLine($"A(z) {ertelmezett[1]} nincs itt.");
                    }

                    break;

                case "tedd":
                case "vedd":
                    if (Parancsok.jatekos.Leltar.Count == 0 && ertelmezett[3] == "le")
                    {
                        Console.WriteLine("Nincs a leltáramban semmi.");
                    }
                    else if (Ellenorzo.Letezik(ertelmezett))
                    {
                        if (Ellenorzo.Lathato(ertelmezett[1]))
                        {
                            parancsok.TargyMozgatas(ertelmezett[1], ertelmezett[3]);
                        }
                        else
                        {
                            Console.WriteLine($"Nem látom a(z) {ertelmezett[1]}-t");
                        }
                    }
                    else
                    {
                        Console.WriteLine($"Nincs ilyen tárgy.");
                    }
                    break;

                case "húzd":
                    if (Ellenorzo.Elerheto(ertelmezett[1]))
                    {
                        if (Ellenorzo.Lathato(ertelmezett[1]))
                        {
                            parancsok.Huzas(ertelmezett[1]);
                        }
                        else
                        {
                            Console.WriteLine($"A(z) {ertelmezett[1]} nem látható.");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Ez a tárgy nem ebben a szobában van.");
                    }
                    break;

                case "törd":
                    if (Ellenorzo.Elerheto(ertelmezett[1]))
                    {
                        if (Ellenorzo.Lathato(ertelmezett[1]) || Ellenorzo.Lathato(ertelmezett[2]))
                        {
                            parancsok.Tores(ertelmezett[1], ertelmezett[2]);
                        }
                        else
                        {
                            Console.WriteLine($"A(z) {ertelmezett[1]} nem látható");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Ezek a tárgyak nincsenek ebben a szobában.");
                    }
                    break;

                case "menj":
                    parancsok.Menni(ertelmezett[4]);
                    break;

                case "mentés":
                case "ments":
                    TaroloEljarasok.Mentés();
                    break;

                case "betöltés":
                    if (File.Exists("mentes.sav"))
                    {
                        Console.WriteLine("Biztosan betöltöd egy korábbi mentésed? Jelenlegi állásod elveszhet. (y/n)");
                        string valasz = Console.ReadLine().ToLower();
                        if (valasz == "y" || valasz == "yes" || valasz == "igen")
                        {
                            TaroloEljarasok.Betoltes();
                        }
                        else
                        {
                            break;
                        }
                    }
                    else
                    {
                        Console.WriteLine("Nem található mentés.");
                    }
                    break;

                default:
                    Console.WriteLine("Ilyen parancsot nem ismerek.");
                    break;
                }
            } while (!nyert);

            Console.ReadKey();
        }