55 lines
1.1 KiB
Markdown
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)
|