-puzzle = [[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]]
-
+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]]
+
+fromTile :: SokobanTile -> String
+fromTile Wall = "Wall"
+fromTile Free = "Free"
+fromTile Box = "Box"
+fromTile Target = "Target"
+fromTile Agent = "Agent"
+fromTile TargetAgent = "AgentOnTarget"
+fromTile TargetBox = "BoxOnTarget"