Once you've downloaded the install package for latest version of KlotskiSolver, be sure to have a quick look at the Installation section of the KlotskiSolver User's Guide. Please post any problems you may encounter installing or using KlotskiSolver to the Help Forum. Have fun!
I got interested in Klotski puzzles recently while setting up a Vista PC to dual-boot Ubuntu Linux. It being my first look at Ubuntu, I felt compelled to try all the games a few times. I was doing pretty well with the Klotskies until I tried "Red Donkey".
My utter failure to solve that puzzle using just my brain combined with the fact that I was looking for a small application to write to test out some of the features of .NET 2.0 I'd been learning led to the beginnings of KlotskiSolver. While looking for solution hints, I came across several posts by programmers who had been similarly frustrated by Red Donkey and written programs to solve it. I found a number of posted solutions including YouTube videos, but I didn't run across any any source code posted (not at first, anyway), and since I've been wanting to set up a SourceForge project for a while anyway, this seemed like as good a time as any to start.
Since getting the program running, I've had a lot of fun testing it against the standard Klotskies and making up some new ones. In particular, my wife helped me design some pretty elegant puzzles that use three L-shaped pieces and a rectangular goal piece.
I even ended up making an actual wooden Klotski to play these off-line. This has the interesting feature that you can flip the L's around to make R's and so forth...
Ok, so maybe I have been goofing off a bit much lately... And yeah, I know, I shouldn't quit my day job to become a cabinet-maker.
Since putting KlotskiSolver up on SourceForge, I have run across several other open source programs for
solving Klotski puzzles. See the 'Solvers & Algorithms' area in the sidebar.
I guess my main priority with the project at this point is to improve the drag-and-drop capability of the game pieces. There are lots of other possibilities, though. I've been thinking about these:
- Allow a non-rectangular outer border, internal fixed obstacles, etc. (done: V 1.2.6)
- Add the ability to print a document that shows the game board in a sequence of user-defined states. Possibly the Goal States list could be used for this.
- Add more game piece shapes and/or give the user the ability to create their own.
- Add the ability to print a summary of a game that would show the initial state of the game board and the moves required to reach the solution.
- Improve the documentation.
- Look into the possibility of a web application version.
- Look into rewriting the code for other operating systems such as OSX and Ubuntu Linux
- Add UI support for some other languages besides English