Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marcusrossel/lean-snakebird
An implementation of Snakebird in Lean.
https://github.com/marcusrossel/lean-snakebird
lean4
Last synced: 17 days ago
JSON representation
An implementation of Snakebird in Lean.
- Host: GitHub
- URL: https://github.com/marcusrossel/lean-snakebird
- Owner: marcusrossel
- License: apache-2.0
- Created: 2021-12-09T16:57:53.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-05T18:19:35.000Z (8 months ago)
- Last Synced: 2024-11-06T15:15:41.127Z (2 months ago)
- Topics: lean4
- Language: Lean
- Homepage:
- Size: 70.3 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lean-snakebird
*lean-snakebird* is a Lean-based implementation of the game [Snakebird](https://store.steampowered.com/app/357300/Snakebird/). This project was inspired by [lean4-maze](https://github.com/dwrensha/lean4-maze) which shows off the meta-programming capabilities of Lean 4. Accordingly, *lean-snakebird* implements a [DSL](Snakebird/Levels/Syntax.lean) in Lean 4 which can be used to define levels of the game:
```lean
def level8 :=
••••••••••••••◎•
••••••••••••••••
••┏━1••••••••▦▦▦
•╺┛0━╸•••••✸✸✸▦▦
▦▦▦▦▦▦✸✸✸••✸••••
•▦▦▦▦▦••✸✸▦✸••••
••••••••••••••••
••••••••••••••••
∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼
```To run the game:
1. Clone this repository.
2. Run `lake exec snakebird`.