This is a simple implementation of the Conway's Game of Life for the Terminal.
It's built with Gradle and requires Java 25.
./gradlew runThis runs with the default settings: a 9x16 grid, the PENTADECATHLON pattern, for 16 generations.
All parameters are optional and can be overridden independently via Gradle properties:
| Parameter | Description | Default |
|---|---|---|
rows |
Number of rows in the grid | 9 |
columns |
Number of columns in the grid | 16 |
executions |
Number of generations to simulate | 16 |
pattern |
Starting pattern (see below) | PENTADECATHLON |
./gradlew run -Pexecutions=30 -Ppattern=SIMPLE_BLINKERAvailable patterns (defined in PatternsEnum): PENTADECATHLON, SIMPLE_BLINKER, MULTI_BLINKERS.
Display is handled through the GridRenderer interface, so how a generation is shown is decoupled from the grid's own
simulation logic.
The default implementation, ConsoleRenderer, clears the terminal and redraws each generation using ANSI escape codes
and colors.
./gradlew testHere is an animation of the fifteen states of a Pentadecathlon as displayed in the Terminal.
