Sokoban

Revision as of 21:24, 27 May 2011 by rosettacode>MagiMaster (The task is straightforward, so, besides possible wording issues, I think it's good enough to not be a draft. I'll provide at least one implementation soon (hopefully).)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Find a solution to a given Sokoban level. While move-optimal or push-optimal (or any other -optimal) solutions are better, this task only requires finding a solution.

Task
Sokoban
You are encouraged to solve this task according to the task description, using any language you may know.

Sokoban levels are usually stored as a character array where

  • space is an empty square
  • # is a wall
  • @ is the player
  • $ is a box
  • . is a goal
  • + is the player on a goal
  • * is a box on a goal

Sokoban solutions are usually stored in the LURD format, where lowercase l, u, r and d represent a move in that direction and capital LURD represents a push.

Please state if you use some other format for either the input or output, and why.

For more information, see the Sokoban wiki.