コード例 #1
0
 protected override void Apply(Point coords, Grid grid)
 {
     if (0 <= coords.X && coords.X < grid.Width && 0 <= coords.Y && coords.Y < grid.Height)
     {
         if (grid.Dots[coords.X, coords.Y] >= 0)
         {
             return;
         }
         if (grid.Bridges[coords.X, coords.Y])
         {
             grid.Bridges[coords.X, coords.Y] = false;
             return;
         }
         if (Grid.Directions.All(d => !grid.IsBridge(coords, d) && !grid.IsWall(coords, d)))
         {
             grid.Bridges[coords.X, coords.Y] = true;
         }
     }
 }
コード例 #2
0
 //Série metod které umožňují přejít s daného pole daným směrem bez toho aby se řešilo přetékání apod.
 private bool IsWall(Point p, Point d)
 {
     return(Grid.IsWall(p, d));
 }