/Mazer

Uses PyQt5 to paint the mazes. The user can make a maze and then watch as it is solved. Uses brute force threading to solve the maze. Randomly generated mazes are a future addition.

Primary LanguagePythonMIT LicenseMIT

Mazer

Uses PyQt5 to paint the mazes. The user can make a maze and then watch as it is solved. Uses brute force threading to solve the maze. Randomly generated mazes are a future addition.

How it works

The maze is solved by brute force. Essentially, if there is a pathway that it can go into, it does it. image

Each time it branches off into another pathway, it makes a new thread for that pathway. Each thread has a list with its complete history, so when the end is found the shortest path from start to end can be found. image

How to edit a maze

Clicking the edit button changes the gui slightly to: image When the user is editing, they can place the start and end of the maze, add or remove walls, and change the height and width of the maze.

Use

You're free to use this code as long as you credit me.

MIT © Traptricker