Esempio n. 1
0
        public override void Eat(MyMap map)
        {
            //int flag = 1;
            if (map.GetPointInMap(GetCoordMonster().y, GetCoordMonster().x) == 2)
            {
                Score += 10;
                if (DoSuperPoint != null)
                {
                    // Дополнительная информация о событии
                    DoPoint(this, EventArgs.Empty);

                    // Вызываем по очереди всех подписчиков, передавая им себя в
                    // качестве отправителя события и экземпляр класса EventArgs
                    // или его потомка в качестве дополнительной информации о событии
                }
            }

            if (map.GetPointInMap(GetCoordMonster().y, GetCoordMonster().x) == 3)
            {
                Score += 50;
                System.Timers.Timer timer = new System.Timers.Timer();
                if (SuperMonster == false)
                {
                    SuperMonster = true;

                    if (DoSuperPoint != null)
                    {
                        // Дополнительная информация о событии
                        DoSuperPoint(this, EventArgs.Empty);
                        CountEaten     = 1;
                        timer.Interval = 8000;
                        timer.Start();

                        timer.AutoReset = false;
                        timer.Elapsed  += TimerEvenHandler;
                    }
                }
                else
                {
                    timer.Interval += 8000;
                }
            }

            if (map.GetPointInMap(GetCoordMonster().y, GetCoordMonster().x) == 7)
            {
                if (SuperMonster == true)
                {
                    Score      += Score + (CountEaten * 200);
                    CountEaten += 1;
                    EatenMonster(this, EventArgs.Empty);
                }
                else if (SuperMonster == false)
                {
                    EatMonster(this, EventArgs.Empty);
                }
            }
        }
Esempio n. 2
0
        public override void Move(MyMap map)
        {
            ConsoleKey choice;

            ConsoleLib.Coord temp = DirectionalCheck();

            var Up    = ConsoleKey.UpArrow;
            var Down  = ConsoleKey.DownArrow;
            var Right = ConsoleKey.RightArrow;
            var Left  = ConsoleKey.LeftArrow;
            var Esc   = ConsoleKey.Escape;

            choice = Console.ReadKey().Key;

            DeleteDraw(map);

            if (GetCoordMonster().x != 31)
            {
                if ((choice == Right) && (map.GetPointInMap(GetCoordMonster().y, GetCoordMonster().x + 1) != 1))
                {
                    SetCoordMonster(GetCoordMonster().y, GetCoordMonster().x + 1);
                    Direction = 4;
                }
            }
            if (GetCoordMonster().x != 0)
            {
                if ((choice == Left) && (map.GetPointInMap(GetCoordMonster().y, GetCoordMonster().x - 1) != 1))
                {
                    SetCoordMonster(GetCoordMonster().y, GetCoordMonster().x - 1);
                    Direction = 3;
                }
            }
            if ((choice == Down) && (map.GetPointInMap(GetCoordMonster().y + 1, GetCoordMonster().x) != 1))
            {
                SetCoordMonster(GetCoordMonster().y + 1, GetCoordMonster().x);
                Direction = 2;
            }
            if ((choice == Up) && (map.GetPointInMap(GetCoordMonster().y - 1, GetCoordMonster().x) != 1))
            {
                SetCoordMonster(GetCoordMonster().y - 1, GetCoordMonster().x);
                Direction = 1;
            }
            if (choice == Esc)
            {
                Draw(map);
                PauseP(this, EventArgs.Empty);
            }
            Draw(map);
        }
Esempio n. 3
0
 public override void DrawBack(MyMap map)
 {
     PrevSymbol = map.GetPointInMap(GetCoordMonster().y, GetCoordMonster().x);
     if (PrevSymbol == map.GetPointInMap(GetCoordMonster().y, GetCoordMonster().x))
     {
         map.SetPointInMap(GetCoordMonster().y, GetCoordMonster().x, 7);
     }
     else
     {
         PrevSymbol = map.GetPointInMap(GetCoordMonster().y, GetCoordMonster().x);
         if (PrevSymbol == map.GetPointInMap(GetCoordMonster().y, GetCoordMonster().x))
         {
             map.SetPointInMap(GetCoordMonster().y, GetCoordMonster().x, 7);
         }
         throw new Exception("no DrowBack");
     }
 }