Пример #1
0
        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)");
            }
        }
Пример #2
0
        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)");
            }
        }