Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qnkhuat/lifeterm
Conway game of life editor on terminal
https://github.com/qnkhuat/lifeterm
c conways-game-of-life terminal
Last synced: 7 days ago
JSON representation
Conway game of life editor on terminal
- Host: GitHub
- URL: https://github.com/qnkhuat/lifeterm
- Owner: qnkhuat
- Created: 2020-12-30T00:30:43.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-04-05T13:22:14.000Z (over 3 years ago)
- Last Synced: 2023-03-09T08:56:13.703Z (over 1 year ago)
- Topics: c, conways-game-of-life, terminal
- Language: C
- Homepage:
- Size: 5.81 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LifeTerm
Game of life editor right on your terminal because why not? 🤷![](./assets/demo.png)
I use the [hashlife](https://en.wikipedia.org/wiki/Hashlife) algorithm to represent the universe and update cells.
# How to
### RUN
> The grid is based on the screen size of your terminal, so make sure you larger your screen before run### Build
`make lifeterm`
### Run
Init an empty world`./lifeterm.o`
Lifeterm is currently support to load pattern in Macrocell(.mc) format. Just type:
`./lifeterm.o {path}`
### Keymap
| Key | Description |
|----------|---------------------------|
| w, a, s, d | Game style: move one step |
| W, A, S, D | Game style: move 10 steps |
| h, j, k, l | Vim style: move one step |
| H, J, K, L | Vim style: move one step |
| Arrows | Move one step |
| x, space | Spawn/Kill a cell |
| u, n | Next generation |
| r, R | Refresh |
| q | Quit |
| i/I | Increase/Decrease Step size by factor of 2|# Todo
- [x] Infinite grid / Dynamic size grid
- [x] Load patter
- [ ] Save pattern