Maze generation tool that will amaze you!

amazeme is a terminal-based maze generator and viewer implemented in Python using the curses library. This tool allows users to visualize mazes directly in the terminal, customize the appearance with various options, and even provide their own maze generation algorithms.
To install amazeme, you need to have Python 3 and pip installed.
You can then install amazeme via pip using the following command:
pip install amazemeYou can also install it via pipx:
pipx install amazemeAfter installation, you can run amazeme from the terminal with various options to customize the maze display.
To display a maze with default settings:
amazeme-c, --wall-color:
Set the color of the walls. You can use color names (e.g., red, blue) or integer color codes. Use -1 for default terminal foreground.
-b, --bg-color:
Set the background color. Use color names or integer color codes. Use -1 for default terminal background.
--solid-mode:
Enable solid mode to double the characters used for walls and spaces.
--wall:
Specify the string for walls (e.g., #, █, ><). Defaults to ███.
--space:
Specify the character for spaces (e.g., ., ). Defaults to a single space.
--shuffle:
Randomly shuffle the wall and space characters during rendering.
--live:
Enable live updates of the maze display. The maze will continuously refresh.
--rate:
Framerate to refresh maze. Works only with --live.
--source:
Provide the path to a .py file containing a custom generate_maze(width, height) function. This allows you to use your own maze generation algorithm.
Display a maze with red walls and black background:
amazeme -c red -b blackUse custom characters for walls and spaces with solid mode:
amazeme --wall "###" --space "." --solid-modeEnable live updates and shuffle 123 characters:
amazeme --live --shuffle --wall "123"Use a custom maze generation algorithm from custom_maze.py:
amazeme --source /path/to/custom_maze.pyTo provide your own maze generation algorithm, create a Python file with a function generate_maze(width, height). This function should return a 2D list (list of lists) where each element is 0 for spaces and 1 for walls.
Example of a custom maze generation file (custom_maze.py):
def generate_maze(width, height):
""" My incredible maze generation function """
return [[1 if (x + y) % 2 == 0 else 0 for x in range(width)] for y in range(height)]There is also a bunch of different generators in generators folder in GitHub repository of project.
Feel free to contribute and add your own generators!
Contributions are welcome! If you have suggestions or improvements, please fork the repository and submit a pull request.
git checkout -b feature/YourFeature).git commit -am 'Add some feature').git push origin feature/YourFeature).This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by zabojeb