Example #1
0
 public void Initialize(Level level, PathFinder pathFinder)
 {
     Level = level;
     PathFinder = pathFinder;
     SokobanRow = level.SokobanRow;
     SokobanColumn = level.SokobanColumn;
     level.RemoveSokoban();
     HashKey = level.GetOccupantsHashKey();
 }
Example #2
0
 private HashKey GetPrintHashKey(Level level, PathFinder pathFinder)
 {
     if (solver.OptimizeMoves)
     {
         return level.GetOccupantsHashKey();
     }
     Coordinate2D sokobanCoord = level.SokobanCoordinate;
     pathFinder.Find();
     Coordinate2D proxySokobanCoord = pathFinder.GetFirstAccessibleCoordinate();
     level.MoveSokoban(proxySokobanCoord);
     HashKey hashKey = level.GetOccupantsHashKey();
     level.MoveSokoban(sokobanCoord);
     return hashKey;
 }