Rush Hour 'Traffic Jam' Solver is a C++ application that reads a Rush Hour board from a text file, solves it, and produces a nice PostScript file that shows the shortest solution. So you can cheat when you can't solve the problem yourself.
Compilation:
Unpack the tarball archive
tar xzvpf rush_hour-*-src.tar.gz
Switch to the new directory
cd rush_hour-*-src
build the program
./configure --prefix=/usr/local
make
It will materialise as ./rush_hour.
Usage:
In the directory where rush_hour was created, and where the file level.txt or level32.txt is found, invoke
./rush_hour 32
It will produce a solution for level 32 and store the result in solution32.ps. You can look at that now:
gv solution32.ps
Or print it:
lpr solution32.ps
Level File Format
For level number X, you can store the level in either the file level|X|.txt or in the generic file level.txt.
Look at level32.txt. It reads:
32:
aaobcc
..ob..
xxo...
deeffp
d..k.p
hh.k.p
-
This is a comment
This is also a comment.
The 32: is the level number. There must be a level number even in the special file named after the level it containts. A level body contains the board setup. The following characters are used:
a,...,k length-2 cars
o,...,r length-3 cars
x, y, z your own cars
. empty board cell
After the board cells are defined, there may be an optional comment, starting with line starting with a minus characters. After the optional comment, the board definition is terminated by an empty line.
There may be several boards in one file, each in the format described above.
Currently, the board has a fixed size of 6x6 cells. This can be changed in the source code, but it is untested.
Product's homepage
Requirements:
· GCC
· liberror
What's New in This Release: [ read full changelog ]
· The compilation process was fixed to work with newer Unix variants and with 64-bit machines.
· A new error message was added to complain about duplicate cars.