# mmaze **Repository Path**: MorvanZhou/mmaze ## Basic Information - **Project Name**: mmaze - **Description**: A simple python maze generator and solver - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-09-26 - **Last Updated**: 2023-02-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MMaze A python maze generator and solver. ## Usage Generating a maze with specific width and height. Print on screen directly. ```python import mmaze m = mmaze.generate(width=3, height=3) print(m) """ |||||||||||||| || || || |||||| || || || || || || |||||| || || || |||||||||||||| """ ``` Plot the maze to image. ```python import mmaze m = mmaze.generate(width=3, height=3) m.plot() ``` drawing Get solution and plot on screen: ```python import mmaze m = mmaze.generate(width=3, height=3) solutions = m.solve(start=(0, 0), end=(2, 2)) print(m.tostring(solution=solutions[0], start=(0, 0), end=(2, 2))) """ |||||||||||||| ||S ********|| || ||||||**|| || || **|| || ||||||**|| || || E || |||||||||||||| """ ``` Generate a solution and plot to an image. ```python import mmaze m = mmaze.generate(width=10, height=10) solutions = m.solve(start=(0, 0), end=(9, 9)) m.plot(solution=solutions[0], start=(0, 0), end=(9, 9)) ``` drawing To make a symmetric maze by passing a symmetry method. Note that width or height must be odd number when you want to solve the generated maze. In this repo, only backtracking / growingtree / huntandkill / prims algorithms can generate symmetric maze. ```python import mmaze start = (0, 0) end = (10, 10) m = mmaze.generate(width=11, height=11, symmetry="horizontal") solutions = m.solve(start=start, end=end) m.plot(solution=solutions[0], start=start, end=end) ``` drawing ## Install ``` pip install mmaze ``` ## More demo use cases Demo can be found in test file: [tests](https://github.com/MorvanZhou/mmaze/blob/master/tests/mmaze_test.py)