Usage
Installation
To use slidingpuzzle, first clone the repo and then install it using pip:
(.venv) $ git clone https://github.com/jmbhughes/slidingpuzzle.git
(.venv) $ pip install .
Some day it might be available on PyPI.
Creating a puzzle
To create a predefined NPuzzle
, you use a list defining the size, the configuration, and the solution.
For example:
>>> import slidingpuzzle as sp
>>> my_puzzle = sp.NPuzzle(3, [1, 2, 6, 3, 5, 0, 4, 7, 8], solution=[1, 2, 3, 4, 5, 6, 7, 8, 0])
Alternatively, you can generate a random puzzle.
To solve, you can use breadth-first search (BFS) or A*. The syntax is the same. For A*:
>>> import slidingpuzzle as sp
>>> my_puzzle = sp.NPuzzle.random_puzzle(3)
>>> solver_bfs = sp.AStarNPuzleSolver(my_puzzle, sp.ManhattanHeuristic())
>>> solution_bfs = solver_bfs.solve()
>>> print(solution_bfs)