faycalki / sliding_puzzle_checker

This modular program uses an algorithm that relies on various mathematical proofs in order to deduce whether any square sliding puzzle is solvable or not. Furthermore, when its solvable it provides you with a lower boundary of the minimum required moves in order to solve the puzzle.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo of the project

Sliding puzzle solution checker.

This modular program uses an algorithm that relies on various mathematical proofs in order to deduce whether any square sliding puzzle is solvable or not. Furthermore, when its solvable it provides you with a lower boundary of the minimum required moves in order to solve the puzzle.

Installing / Getting started

Python Interpreter 3+ is required in order to compile the code, you may build this into an executable through other means if you wish. Standard compilation is all that is needed.

python sliding_puzzle_main.py

Once the code is executed, follow the instructions on the screen.

Developing

git clone https://github.com/faycalki/sliding_puzzle_checker.git

Features

  • Efficiently computes whether the square array is solvable or not;
  • Minimal dependencies;
  • Can be implemented as a fully modular program with minimal editing.
  • Provides you with a lower boundary minimum number of moves to solve the puzzle (when its solvable).

Contributing

If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.

Links

Licensing

The code in this project is licensed under the GNU General Public License v3.0.

Disclaimer

This project is intended to be used for legal purposes only, and is pursuant to the license terms and conditions provided.

About

This modular program uses an algorithm that relies on various mathematical proofs in order to deduce whether any square sliding puzzle is solvable or not. Furthermore, when its solvable it provides you with a lower boundary of the minimum required moves in order to solve the puzzle.


Languages

Language:Python 100.0%