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(); } } }
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); }
private void GrabeDonut(GameLevel level) { Donuts++; lastElement = ElementsOfMap.Bible; }