inpath :== "screen.2001"
outpath :== "solver.smv"
-/*
-puzzle :: SokobanPuzzle
-puzzle = Sokoban [[Wall, Wall, Wall, Wall, Wall, Wall],
- [Wall, Free, Free, Free, Free, Wall],
- [Wall, Agent,Free, Box, Free, Wall],
- [Wall, Free, Free, Free, Target, Wall],
- [Wall, Wall, Wall, Wall, Wall, Wall]]
-*/
-
-instance == SokobanTile
-where
- (==) Wall Wall = True
- (==) Free Free = True
- (==) Box Box = True
- (==) Agent Agent = True
- (==) Target Target = True
- (==) TargetBox TargetBox = True
- (==) TargetAgent TargetAgent = True
- (==) _ _ = False
-
checkX :: [[SokobanTile]] Int -> Int
checkX p x = if (x > (length p - 1)) (-1) x
" esac;\n"
]
+instance == SokobanTile
+where
+ (==) Wall Wall = True
+ (==) Free Free = True
+ (==) Box Box = True
+ (==) Agent Agent = True
+ (==) Target Target = True
+ (==) TargetBox TargetBox = True
+ (==) TargetAgent TargetAgent = True
+ (==) _ _ = False
+
fromTile :: SokobanTile -> String
fromTile Wall = "Wall"
fromTile Free = "Free"