Skip to content
/ golpy Public

Efficient Conway's Game of Life implemented in Python using NumPy.

License

Notifications You must be signed in to change notification settings

Zeta611/golpy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b331743 · May 1, 2024

History

25 Commits
May 1, 2024
Feb 15, 2021
May 1, 2024
May 1, 2024
Feb 13, 2021
May 1, 2024
May 1, 2024
May 1, 2024
May 1, 2024

Repository files navigation

GoLPy

GitHub license PyPI Code style: black

GoLPy is an efficient Conway's Game of Life implemented in Python using NumPy.

Example Output

The following GIF can be generated using the command:

life --demo glidergun --out glider_gun.gif --ppc 10 --pos TL -W60 -H40

The Gosper Glider Gun

Installation

pip install golpy

Usage

usage: life [-h] (-i GRID_INPUT | -d DEMO) [-o FILE | --debug-print]
            [-W WIDTH] [-H HEIGHT] [-M MAX_GEN] [--ppc PIXELS] [-P POSITION]
            [-p]

optional arguments:
  -h, --help            show this help message and exit
  -i GRID_INPUT, --in GRID_INPUT
                        Parse the initial grid from <GRID_INPUT>
  -d DEMO, --demo DEMO  Try one of the provided demos: one of 'glidergun' and
                        'glidergen'
  -o FILE, --out FILE   Place the output into <FILE>
  --debug-print         Print the generated frames directly to the terminal,
                        instead of saving them

  -W WIDTH, --width WIDTH
                        Width of the grid
  -H HEIGHT, --height HEIGHT
                        Height of the grid

  -M MAX_GEN, --max-gen MAX_GEN
                        Number of generations to simulate
  --ppc PIXELS          Set the width and the height of each cell to <PIXELS>
  -P POSITION, --pos POSITION
                        One of 'C', 'T', 'B', 'L', 'R', 'TL', 'TR', 'BL', and
                        'BR'

  -p, --profile         Measure the performance

To use without installing,

python -m golpy # ...

Input Format

........................O
......................O.O
............OO......OO............OO
...........O...O....OO............OO
OO........O.....O...OO
OO........O...O.OO....O.O
..........O.....O.......O
...........O...O
............OO

Use . for a dead cell, O (chr(79)) for a live cell.

License

MIT