public void Play() { string _input = ""; string[] _directions = { "n", "s", "e", "w" }; string _randomDirection = ""; while (_input != "q") { Show(Player); _input = Console.ReadLine(); if (_input == "n" || _input == "s" || _input == "e" || _input == "w") { foreach (Enemy Enemy in Enemies) { int _x = RandomMove(); _randomDirection = _directions[_x]; Enemy.Move(_randomDirection); } } try { if (_input != "q") { switch (_input) { case "q": break; case "l": Show(Player); break; case "i": Player.Inventory(); break; case "c": Commands(); break; case "d": Drop(Player); break; case "t": Take(Player); break; case "n": Player.Move(_input); break; case "e": Player.Move(_input); break; case "s": Player.Move(_input); break; case "w": Player.Move(_input); break; case "a": Player.Attack(); break; default: Console.WriteLine("Falsche Eingabe"); break; } } } catch (Exception) { Console.WriteLine("Falsche Eingabe"); } if (Player.Total <= 0) { Console.WriteLine("Sie haben verloren"); break; } int _enemiesDead = 0; foreach (Enemy enemy in Enemies) { if (enemy.Total <= 0) { _enemiesDead++; } } if (Enemies.Count() == _enemiesDead) { Console.WriteLine("!!! Sie haben alle Gegner besiegt und somit das Spiel gewonnen !!!"); break; } } void Show(Player p) { Enemy _enemy = p.Position.GetEnemy(); // checking if enemy in room Console.WriteLine(""); Console.WriteLine(string.Empty.PadLeft(Console.WindowWidth - Console.CursorLeft, '─')); Console.WriteLine("Sie befinden sich in " + p.Position.Name + " und Ihr leben beträgt " + p.Total + ". Geben Sie Norden(n), Osten(e), Westen(w) oder Süden(s) ein um sich zu bewegen."); p.Position.Look(); if (_enemy != null) { Console.WriteLine(""); Console.WriteLine("DUM DUMM DUMM DUMMMMMMMMM"); Console.WriteLine("In ihrem Raum befindet sich der Gegner " + _enemy.Name + " der Items hat die Sie eventuell gebrauchen könnten. Dein Gegner hat noch " + _enemy.Total + " Lebenspunkte. Wollen Sie ihn mit <a> angreifen um ein Item von ihm zu gewinnen? Seine Items:"); if (p.Position.GetEnemy().Items.Count != 0) { for (int i = 0; i < p.Position.GetEnemy().Items.Count; i++) { Console.WriteLine("- " + p.Position.GetEnemy().Items[i].Name); } } } } void Take(Player p) { Console.WriteLine("Welches Item wollen Sie?"); string _item = Console.ReadLine(); Item _takeItem = p.Position.Take(_item); p.Insert(_takeItem); } void Drop(Player p) { Console.WriteLine("Welches Item wollen Sie ablegen?"); string _item = Console.ReadLine(); Item _dropItem = p.Delete(_item); p.Position.Drop(_dropItem); } void Commands() { Console.WriteLine("commands(c), look(l), inventory(i), take(t) item, drop(d) item, quit(q)"); } }
public void Play() { string _input = ""; while (_input != "q") { if (_input == "n" || _input == "s" || _input == "e" || _input == "w") { int _x = RandomRoom(); switch (_x) { case 0: E1.Move("n"); break; case 1: E1.Move("s"); break; case 2: E1.Move("w"); break; case 3: E1.Move("e"); break; } } Show(Player); _input = Console.ReadLine(); try { if (_input != "q") { switch (_input) { case "q": break; case "l": Show(Player); break; case "i": Player.Inventory(); break; case "c": Commands(); break; case "d": Drop(Player); break; case "t": Take(Player); break; case "n": Player.Move(_input); break; case "e": Player.Move(_input); break; case "s": Player.Move(_input); break; case "w": Player.Move(_input); break; case "a": Player.Attack(); break; default: Console.WriteLine("Falsche Eingabe"); break; } } } catch (Exception) { Console.WriteLine("Falsche Eingabe"); } if (Player.Total <= 0) { Console.WriteLine("Sie haben verloren"); break; } if (E1.Total <= 0 && E2.Total <= 0) { Console.WriteLine("Sie haben gewonnen"); break; } } void Show(Player p) { Enemy _enemy = p.Position.GetEnemy(); Console.WriteLine(""); Console.WriteLine("Sie befinden sich in " + p.Position.Name + " und Ihr Kontostand beträgt " + p.Total + " Euro. Geben Sie Norden(n), Osten(e), Westen(w) oder Süden(s) ein um sich zu bewegen."); p.Position.Look(); if (_enemy != null) { Console.WriteLine("Sie sind in einer/einem " + _enemy.Name + ", wo Sie auf einen Gegner treffen. Dein Gegner hat ein Kontostand von " + _enemy.Total + " Euro. Wollen Sie gegen ihn mit<a> spielen um ein Item von ihm zu gewinnen? Seine Items:"); if (p.Position.GetEnemy().PlayerItems.Count != 0) { for (int i = 0; i < p.Position.GetEnemy().PlayerItems.Count; i++) { Console.WriteLine(p.Position.GetEnemy().PlayerItems[i].Name); } } } } void Take(Player p) { Console.WriteLine("Welches Item wollen Sie?"); string _item = Console.ReadLine(); Item _takeItem = p.Position.Take(_item); p.Insert(_takeItem); } void Drop(Player p) { Console.WriteLine("Welches Item wollen Sie ablegen?"); string _item = Console.ReadLine(); Item _dropItem = p.Delete(_item); p.Position.Drop(_dropItem); } void Commands() { Console.WriteLine("commands(c), look(l), inventory(i), take(t) item, drop(d) item, quit(q)"); } }