/// <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); } }
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(); }
/// <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; } }