rich-life 0.3.0

Creator: bradpython12

Last updated:

Add to Cart

Description:

richlife 0.3.0

Conway's Game of Life and Langton's Ant





About
This project implements Conway's Game of Life and Langton's Ant.
Both are cellular automaton simulations.
Uses Rich for terminal visualization.

Screenshots


Installation
To install make sure you have Python 3.11 or higher and uv installed.
Installation From Source


Clone the repository:
git clone https://github.com/paulrobello/rich_life.git
cd rich_life



Install the required dependencies:
uv sync



Installation From PyPI
To install from PyPI, run any of the following commands:
uv tool install rich-life

pipx install rich-life

Usage
Running if installed from PyPI
rich_life

Running from source
Run the Game of Life simulation using the following command:
uv run rich_life

You can customize the grid size, number of generations, and neighborhood rules using command-line options:
uv run rich_life --width 50 --height 30 --generations 300 --rules moore

Run the Langton's Ant simulation using the following command:
uv run rich_life --mode ants

Available options:

--width or -w: Width of the grid (default: half of console height)
--height or -h: Height of the grid (default: half of console height minus 2)
--infinite or -i: Enable infinite mode. Simulation grid has no bounds (default: False)
--generations or -g: Number of generations to simulate (default: 100)
--mode or -m: Simulation mode (options: 'life' or 'ants', default: 'ants')
--rules or -r: Neighborhood rules for game of life (options: 'moore' or 'van_neumann', default: 'moore')
--offset-x or -x: Bord display X-coordinate offset for infinite mode (default: 0)
--offset-y or -y: Bord display Y-coordinate offset for infinite mode (default: 0)
--rps or -r: Refresh / generations per second (default: 10)
--follow or -f: Follow the ant in ANTS mode (default: False)

Keys:

'Arrows' / 'WSAD': Pan the grid

Running Tests
To run the tests, use the following command:
uv run pytest tests/test_game_of_life.py

What's New

Version 0.3.0: Added follow mode for Langton's Ant
Version 0.2.0: Better keyboard handling
Version 0.1.0: Initial release

Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is open source and available under the MIT License.
Author
Paul Robello (probello@gmail.com)

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.