DomainFlag / rush-hour-solver

RushHour puzzle solver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RushHour Solver

Rush Hour solver written in C++.

Screenshot

Getting Started

The necessary libraries are SDL2 and SDL2-TTF that you can install as below:

Installing the SDL2-TTF library:

sudo apt-get install libsdl2-ttf-dev

Installing the SDL2 library:

sudo apt-get install libsdl2-dev

Structure

The application is able to solve a given puzzle that you can add in the /res folder. The algorithm is using depth first search algorithm to find a minimal solution.

The algorithm is making use of sets to store passed already states. There is a random level constructor but also an algorithm based on clustering to find the most maximum distance within a given graph. That's possible as every possible board is generated based on backtracking and taking union of their graphs, thus each distinct cluster is being solved by marking already passed nodes.

Miscellaneous

Running project:

make

For more info and interaction with test sets:

make help

About

RushHour puzzle solver


Languages

Language:C++ 95.6%Language:Makefile 2.9%Language:CMake 1.4%