evac/README.md

55 lines
1.1 KiB
Markdown
Raw Normal View History

2019-05-19 18:45:45 -04:00
# EVAC
tA's Rules Engine for the Neon Genesis Evangelion Trading Card Game.
## Getting Started
Currently only runs in GHCI
2019-05-19 18:46:44 -04:00
```haskell
:load Leads/Groups.hs ComBoard/Printer.hs ComBoard/Init.hs
import ComBoard.Printer
import ComBoard.Init
2019-05-19 18:45:45 -04:00
```
To print the representation of the initial board state
2019-05-19 18:46:44 -04:00
```haskell
2019-05-19 18:45:45 -04:00
printState initBS
```
`hurt` and `attract` are currently the only implemented main mechanics
2019-05-19 18:46:44 -04:00
```haskell
printState $ (attract Ritsuko Misato)
. (hurt Shinji Gendo)
. (attract Asuka Shinji)
. (hurt Rei Ritsuko)
$ initBS
2019-05-19 18:45:45 -04:00
```
2019-05-19 18:51:30 -04:00
returns:
```plaintext
== BOARD STATE ==
2019-05-19 18:51:30 -04:00
- Groups -
A ~ [ Ritsuko, Misato ] <-> BD
B ~ [ Shinji, Asuka ] <-> ACD
C ~ [ Rei ] <-> BD
D ~ [ Gendo ] <-> ABC
2019-05-19 18:51:30 -04:00
- Downed -
~ Gendo
~ Ritsuko
2019-05-19 18:51:30 -04:00
- 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
=================
2019-05-19 18:51:30 -04:00
```
2019-05-19 18:45:45 -04:00
### Dependencies
`Data.List` and `Maybe (Data.Either)`
2019-05-19 18:45:45 -04:00
## Authors
* **Shaun Kerr** - [tA](https://git.lain.church/tA)