예제 #1
0
 public void Initialize(Level level, PathFinder pathFinder)
 {
     Level = level;
     PathFinder = pathFinder;
     SokobanRow = level.SokobanRow;
     SokobanColumn = level.SokobanColumn;
     level.RemoveSokoban();
     HashKey = level.GetOccupantsHashKey();
 }
예제 #2
0
 private void Print(Level level)
 {
     level.AddSokoban(current.SokobanCoordinate);
     Log.DebugPrint(level.AsText);
     level.RemoveSokoban();
 }
        private int Lookup(Level level)
        {
            if (includeSokoban)
            {
                return LookupKey(level);
            }

            Level tempLevel = new Level(level);
            tempLevel.MarkAccessible = true;
            tempLevel.RemoveSokoban();
            return LookupKey(tempLevel);
        }
 private void AddLevel(Level level, int value)
 {
     level.MarkAccessible = true;
     level.RemoveSokoban();
     set[level] = value;
 }