Solving Sliding Block Puzzles
So here is how it started: I was completely intrigued by a gigantic bag of “Doritos: The Quest” chips. I decided to buy them to see if I could indeed guess the mystery flavor. Wow! Was that ever a mistake.
If you can guess the flavor then you can play a puzzle game (Doritos: The Quest). Unfortunately, the flavor of the chip is an utter disaster. Dispite being disgusting, I kept eating them one by one until I guessed the flavor. It had to be either monkey poo and/or lemonade. Of course I didn’t need to buy the chips or even guess the flavor because the game gives you the answer (See screenshot at right.)
As the game progresses there are more puzzles and they get harder as you get further. I eventually came to puzzle #7. It was a sliding block puzzle. Later, I reached puzzle number 11, which has 3 parts, all of which are sliding block puzzles.
The goal of these puzzles is to get the big square to the bottom of the game board. It looks easy, but you eventually get into Rubix Cube style situations where you have to find some way to rotate the blocks around the larger ones.
I thought, “Hey wait a second, this is what computers are for.” At this point I figured I’d be better off writing a solver than actually solving the puzzles by hand. And thats just what I did. I wrote a puzzle solver so I could cheat. I used it to get past this part of the game.
Then I realized I could put a GUI on it, and everyone could cheat at any puzzle in the future! This would be a good excuse to test out the Google Web Toolkit, so I installed it and struggled with it for a while. The GUI took me a lot longer than I anticipated, but I did eventually finish it.
It’s not too late to use the solver for the Doritos game, but the competition has already ended. Eh. I guess its better late than never. Heres the solver if you want to try it out yourself.
Solver in Action
Now what am I going to do with these?