Beispiel #1
0
        /// <summary>
        /// Elenőrzi hogy a két tárgy közül az egyikkel el lehet-e törni a másikat. Ha mind a kettő elérhető (Leltárban van és látható) akkor törhető a tárgy.
        /// </summary>
        /// <param name="mit"></param>
        /// <param name="mivel"></param>
        public void Tores(string mit, string mivel)
        {
            switch (mit)
            {
            case "ablak":
            case "feszítővas":
                if (mivel == "")
                {
                    switch (mit)
                    {
                    case "feszítővas":
                        Console.WriteLine("Mit törjek össze vele?");
                        break;

                    case "ablak":
                        Console.WriteLine("A kezeddel nem tudod összetörni, mert megvágnád magad.");
                        break;

                    default:
                        break;
                    }
                }
                else if (Ellenorzo.KapcsolatbanVannak(mit, mivel))
                {
                    if (Ellenorzo.LeltarambanVan(mivel) || Ellenorzo.LeltarambanVan(mit))
                    {
                        Console.WriteLine("A feszítővassal betöröd az ablakot");
                        haz.First(x => x.id == jatekos.Helye).eszak = true;
                    }
                    else
                    {
                        Console.WriteLine("Ehhez egy olyan tárgy kell ami nincs a leltáramban.");
                    }
                }
                else
                {
                    Console.WriteLine("Ez a két tárgy nem tudja betörni egymást.");
                }
                break;

            default:
                Console.WriteLine("Ezt nem lehet összetörni.");
                break;
            }
        }
Beispiel #2
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);
     }
 }
Beispiel #3
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();
        }
Beispiel #4
0
        /// <summary>
        /// Kinyitja a paraméterben megadott tárgyat.
        /// Ha két tárgy kell valaminek a kinyitásához akkor ellenőrzi mind a kettő meglétét
        /// </summary>
        /// <param name="mit"></param>
        /// <param name="mivel"></param>
        public void Nyisd(string mit, string mivel)
        {
            switch (mit)
            {
            case "szekrény":
                Console.WriteLine("Kinyitottad a szekrényt. Egy dobozt látsz.");
                targyak.First(x => x.neve == "doboz").lathato = true;
                break;

            case "doboz":
                if (jatekos.Leltar.Count > 0)
                {
                    if (Ellenorzo.LeltarambanVan(mit))
                    {
                        Console.WriteLine("kinyitottad a dobozt. Egy kulcsot találsz benne");
                        targyak.First(x => x.neve == "kulcs").lathato = true;
                    }
                    else
                    {
                        Console.WriteLine("Könnyebb lenne ha felvenném és úgy nyitnám ki.");
                    }
                }
                else
                {
                    Console.WriteLine("Könnyebb lenne ha felvenném és úgy nyitnám ki.");
                }
                break;

            case "kulcs":
            case "ajtó":
                if (mivel == "")
                {
                    switch (mit)
                    {
                    case "kulcs":
                        Console.WriteLine("Mivel használjam a kulcsot?");
                        break;

                    case "ajtó":
                        Console.WriteLine("Az ajtó kulcsra van zárva");
                        break;

                    default:
                        break;
                    }
                }
                else if (Ellenorzo.KapcsolatbanVannak(mit, mivel))
                {
                    if (Ellenorzo.LeltarambanVan(mivel) || Ellenorzo.LeltarambanVan(mit))
                    {
                        Console.WriteLine("Kinyitottad az ajtót");
                        haz.First(x => x.id == jatekos.Helye).nyugat = true;
                    }
                    else
                    {
                        Console.WriteLine("Ehhez egy olyan tárgy kell ami nincs a leltáramban.");
                    }
                }
                else
                {
                    Console.WriteLine($"Ez a két tárgy {mit} és {mivel} nem nyitják egymást.");
                }


                break;

            case "ablak":
                Console.WriteLine("Az ablak zárva van");
                break;

            default:
                Console.WriteLine($"Az {mit} nem nyitható");
                break;
            }
        }
Beispiel #5
0
        /// <summary>
        /// A játékos helyéhez képest eldönti, hogy az elmozdulás lehetséges vagy változtat-e bármin. Ha igen végrehajtja a változtatásokat.
        /// </summary>
        /// <param name="irany"></param>
        public void Menni(string irany)
        {
            switch (irany)
            {
            case "észak":
                switch (jatekos.Helye)
                {
                case 0:

                    if (haz.First(x => x.id == jatekos.Helye).eszak)
                    {
                        Console.WriteLine("Gratulálunk, sikerült megszöknöd.");
                        Program.nyert = true;
                    }
                    else if (Ellenorzo.Lathato("ablak"))
                    {
                        Console.WriteLine("Északra nem mehetek, útban van az ablak");
                    }
                    else
                    {
                        Console.WriteLine("Északra csak a szekrény van");
                    }
                    break;

                case 1:
                    Console.WriteLine("Északra nincs kijárat.");
                    break;

                default:
                    break;
                }
                break;

            case "kelet":
                switch (jatekos.Helye)
                {
                case 0:
                    Console.WriteLine("Keletre nincs kijárat ");
                    break;

                case 1:
                    jatekos.Helye = (int)SzobaID.nappali;
                    Console.WriteLine(haz.First(x => x.id == jatekos.Helye).leiras);
                    break;

                default:
                    break;
                }
                break;

            case "nyugat":
                switch (jatekos.Helye)
                {
                case 0:
                    if (haz.First(x => x.id == jatekos.Helye).nyugat)
                    {
                        jatekos.Helye = (int)SzobaID.fürdőszoba;
                        Console.WriteLine(haz.First(x => x.id == jatekos.Helye).leiras);
                    }
                    else
                    {
                        Console.WriteLine("Nem tudok arra menni, zárva van az ajtó.");
                    }
                    break;

                case 1:
                    Console.WriteLine("Arra nincs kijárat");
                    break;

                default:
                    break;
                }
                break;

            default:
                Console.WriteLine($"Arra nincs kijárat");
                break;
            }
        }