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); } } }
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); }
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"); } }