Irritating Puzzle
UPDATE1: As pointed out by a helpful redditor called “ijanos” this game is called “Klotski”, wikipedia has an article about it http://en.wikipedia.org/wiki/Klotski
UPDATE2: I’ve uploaded a new version with the solution from “Henrik”.
UPDATE3: I wrote a blog post about stats regarding this game here.
I was over at a friends house for New Years. He had received this “annoying puzzle” as a Christmas gift. I spent 10 minutes fiddling with it, until my wife politely yanked it out of my hands. Before leaving I took a photo of the damned evil thing, thinking I’d quickly make it in flash and solve it on my own time.

The objective is to move the pieces around until the Big Red Square reaches the bottom center. At the bottom side of the box, there is a thin slit. The Big Red Bastard is “thinner” than the others and once in position, it can slide through. Couldn’t be simpler eh?
As planned, I quickly shit together a working copy of the puzzle.
I kid you not, solving this hell spawn took me longer than coding the shitty game!!! I saved my solution for posterity, and it contains a most embarassing 759 moves
So, are you as retarded as me? Try it out:
(oh yeah, mind the elite graphic design and sizzling game play, only one piece can move, one step at a time)
If you do manage to solve it, the “moves” are automatically printed out in the text box. In the likely case that you have less moves than me, just select all, copy and paste the solution in the comments below… I’ll add the solution into the flash and upload it again…
*enjoy*
Tags: puzzle game


January 18th, 2010 at 2:34 pm
Sakri, how long FGS did it take you to solve it in 759 moves?
January 18th, 2010 at 7:15 pm
i think you analytics tracking in the game is broken:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at com.google.analytics.campaign::CampaignTracker/_addIfNotEmpty()
at com.google.analytics.campaign::CampaignTracker/toTrackerString()
at com.google.analytics.campaign::CampaignManager/getCampaignInformation()
at com.google.analytics.v4::Tracker/_initData()
at com.google.analytics.v4::Tracker()
at com.google.analytics::GATracker/_trackerFactory()
at com.google.analytics::GATracker/_factory()
at com.google.analytics::GATracker()
at net.sakri.annoying_puzzle::GoogleAnalyticsCommand$/initTracker()
at AnnoyingPuzzle()
January 18th, 2010 at 7:23 pm
protected var _solution_moves:Vector.=Vector.([new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(-1,0)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(1, new Point(1,0))])
January 18th, 2010 at 7:46 pm
120 moves …. enjoy
protected var _solution_moves:Vector.=Vector.([new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(-1,0)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(1, new Point(1,0))])
January 18th, 2010 at 8:25 pm
114 Moves:
protected var _solution_moves:Vector.=Vector.([new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(-1,0)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(1, new Point(1,0))])
January 18th, 2010 at 8:50 pm
http://www.stavanger-guide.com/klotski.htm
January 18th, 2010 at 8:56 pm
allright henrik… you are the man of the moment… delete cache or so to see tha maestro in action.
That, or Henrik has the booklet that comes with the game
I like to think it’s just another one of the reddit geniuses!
http://www.reddit.com/r/gaming/comments/ar2d1/this_puzzle_took_me_longer_to_solve_than_it_took/
January 18th, 2010 at 9:50 pm
Dude, the colors hurt my eyes.
January 18th, 2010 at 9:50 pm
move number : 117
)
OMG YOU DID IT?!!!
TOTAL MOVES : 118
if your total is less than 759 (and for your sake I hope it is
Please cut and paste the text below as a comment and I’ll use that as the sample solution! Gracias!
protected var _solution_moves:Vector.=Vector.([new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(-1,0)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(1, new Point(1,0))])
January 19th, 2010 at 6:02 am
114 Moves, ahh, I messed up, should’ve been 112.
http://analogbit.com/software/puzzletools
I cheated with help from deadlyninja’s puzzletool.
protected var _solution_moves:Vector.=Vector.([new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(-1,0)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(-1,0)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(1,0)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(1,0)),new AnnoyingPuzzleMove(2, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(1, new Point(1,0))])
January 19th, 2010 at 1:56 pm
Wrote a program to do this for me, best it can manage is 120 oddly enough.
protected var _solution_moves:Vector.=Vector.([new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(0, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(3, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(2, new Point(0,1)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(4, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(8, new Point(0,-1)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(1,0)),new AnnoyingPuzzleMove(0, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(9, new Point(0,1)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(7, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(2, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(6, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(0,1)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(8, new Point(-1,0)),new AnnoyingPuzzleMove(4, new Point(-1,0)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(0, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(0,1)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(8, new Point(0,1)),new AnnoyingPuzzleMove(4, new Point(-1,0)),new AnnoyingPuzzleMove(0, new Point(-1,0)),new AnnoyingPuzzleMove(2, new Point(-1,0)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(5, new Point(0,-1)),new AnnoyingPuzzleMove(1, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(0,-1)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(6, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(1, new Point(0,1)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(7, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(8, new Point(1,0)),new AnnoyingPuzzleMove(3, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(0,-1)),new AnnoyingPuzzleMove(9, new Point(-1,0)),new AnnoyingPuzzleMove(1, new Point(-1,0))])
January 20th, 2010 at 9:10 pm
http://analogbit.com/software/puzzletools