Beispiel #1
0
 private void Checkside(Point checkedPoint, Direction dir, Element searchingEl, List <WayResolver> wayResolvers)
 {
     if (!checkedPoint.IsOutOf(Board.Size))
     {
         if ((!Barriers.Contains(checkedPoint) || (searchingEl == Element.DESTROYABLE_WALL && Board.IsNear(checkedPoint, searchingEl))) && !wayResolvers.Any(x => x.Point == checkedPoint))
         {
             {
                 WayResolver way = new WayResolver(checkedPoint, dir);
                 {
                     if (Board.IsAt(checkedPoint, searchingEl) || (searchingEl == Element.DESTROYABLE_WALL && Board.IsNear(checkedPoint, searchingEl)))
                     {
                         way.isDestination = true;
                     }
                     if (!DangerPoints.Contains(checkedPoint) || (searchingEl == Element.DESTROYABLE_WALL && Board.IsNear(checkedPoint, searchingEl)))
                     {
                         way.isSafe = true;
                     }
                     if (!wayResolvers.Any(x => x.Point == way.Point))
                     {
                         wayResolvers.Add(way);
                     }
                 }
             }
         }
         depth++;
     }
 }