Python wrapper of Daedalus monochrome maze
Project description
Daedalus source code is copyright (c) 1998-2016 Walter D. Pullen.
Wrapper is copyright (c) 2017 Will Roberts <wildwilhelm@gmail.com>.
Licensed under the GNU General Public License version 2.
A Python wrapper of the Daedalus maze generator. This project is currently built against version 3.2 of the Daedalus software.
Quickstart
Install:
pip install pydaedalus
Getting started:
>>> from daedalus import Maze >>> maze = Maze(63, 63) >>> maze.create_perfect() >>> maze.resize(31, 61) >>> maze.create_perfect() >>> maze.save_bitmap('test.bmp') >>> maze.save_text('test.txt')
A Maze can be treated as a 2D array of Bools (walls are True and passages are False), or as a container of lists of ints (walls are 1 and passages are 0):
>>> maze.width, maze.height (31, 61) >>> maze[0,0] True >>> maze[1,1] False >>> maze[1,2] False >>> maze[1,3] False >>> maze[1] [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1] >>> len(maze) 61
Take a look at demo.ipynb to see visualisations of some of the kinds of Mazes Daedalus can create.
Requirements
Python 2.7, or 3.3+,
A C++ compiler with C++11 support (GCC 4.7+, clang 3.3+).
Development Notes
To compile the Cython extension:
python setup.py build_ext --inplace
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pydaedalus-0.1.5.tar.gz
.
File metadata
- Download URL: pydaedalus-0.1.5.tar.gz
- Upload date:
- Size: 400.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.1.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1162fe29eafeaf39e8cc1fea510908949567c3fa578383e09ba16e4a1a85a75 |
|
MD5 | 997f9539f1e34fda668a4b5a3b49cf3d |
|
BLAKE2b-256 | 1fd95ef98306af403d8e969ebba4a776b1ade773edeac48e7b68a1fa3a79926e |