evac/README.md

55 lines
1.1 KiB
Markdown

# EVAC
tA's Rules Engine for the Neon Genesis Evangelion Trading Card Game.
## Getting Started
Currently only runs in GHCI
```haskell
:load Leads/Groups.hs ComBoard/Printer.hs ComBoard/Init.hs
import ComBoard.Printer
import ComBoard.Init
```
To print the representation of the initial board state
```haskell
printState initBS
```
`hurt` and `attract` are currently the only implemented main mechanics
```haskell
printState $ (attract Ritsuko Misato)
. (hurt Shinji Gendo)
. (attract Asuka Shinji)
. (hurt Rei Ritsuko)
$ initBS
```
returns:
```plaintext
== BOARD STATE ==
- Groups -
A ~ [ Ritsuko, Misato ] <-> BD
B ~ [ Shinji, Asuka ] <-> ACD
C ~ [ Rei ] <-> BD
D ~ [ Gendo ] <-> ABC
- Downed -
~ Gendo
~ Ritsuko
- GameLog -
Rei hurts Ritsuko, Ritsuko is downed!
Shinji attracts Asuka, both groups are joined
Shinji hurts Gendo, Gendo is downed!
Ritsuko attracts Misato, both groups are joined
=================
```
### Dependencies
`Data.List` and `Maybe (Data.Either)`
## Authors
* **Shaun Kerr** - [tA](https://git.lain.church/tA)