public void UpdateMazeTileDisplays(ITileTypeFactory tileTypeFactory, IMaze gameMaze, ISprite pacman, IEnumerable <ISprite> ghosts) { pacman.UpdateDisplay(); gameMaze.UpdateMazeArray(pacman.X, pacman.Y, pacman.SpriteDisplay, tileTypeFactory.Empty); gameMaze.UpdateMazeArray(pacman.PrevX, pacman.PrevY, tileTypeFactory.Empty, tileTypeFactory.Empty); foreach (var ghostSprite in ghosts) { var prevTileType = gameMaze.MazeArray[ghostSprite.PrevX, ghostSprite.PrevY].HasBeenEaten ? tileTypeFactory.Empty : tileTypeFactory.Pellet; gameMaze.UpdateMazeArray(ghostSprite.PrevX, ghostSprite.PrevY, prevTileType, tileTypeFactory.Empty); gameMaze.UpdateMazeArray(ghostSprite.X, ghostSprite.Y, ghostSprite.SpriteDisplay, tileTypeFactory.Empty); } }