Пример #1
0
        public void Move(GameLevel level)
        {
            if (Path.Count == 0)
            {
                Path = FindPath(level);
            }
            var newPosition = Path[0];

            if (level.InMap(newPosition) && !level.СellBusy(newPosition))
            {
                level.SetElement(Position, lastElement);
                lastElement = ElementsOfMap.Empty;
                if (level[newPosition] == ElementsOfMap.Donut)
                {
                    GrabeDonut(level);
                }
                level.SetElement(newPosition, ElementsOfMap.Flanders);
                Position = newPosition;
                Path.RemoveAt(0);
                if (level.Donuts.Count == 0)
                {
                    level.FinishGame();
                }
            }
        }
Пример #2
0
 public Flanders(Point point, GameLevel level)
 {
     Position                     = point;
     lastElement                  = ElementsOfMap.Empty;
     Path                         = FindPath(level);
     level.Gomer.GomerMove       += (p) => Move(level);
     level.Gomer.GomerGrabeDount += (p) => Path = FindPath(level);
 }
Пример #3
0
 private void GrabeDonut(GameLevel level)
 {
     Donuts++;
     lastElement = ElementsOfMap.Bible;
 }