2019-05-15 02:50:27 -04:00
|
|
|
module State where
|
|
|
|
|
2019-05-16 00:04:32 -04:00
|
|
|
-- needed state:
|
|
|
|
-- NeoTokyo groups
|
|
|
|
-- Put cards
|
|
|
|
-- id counter
|
|
|
|
--
|
|
|
|
--
|
|
|
|
--
|
|
|
|
--
|
|
|
|
|
2019-05-15 02:50:27 -04:00
|
|
|
type Group = [MainCharacter]
|
|
|
|
type NeoTokyo = [Group]
|
|
|
|
type Downed = [MainCharacter]
|
2019-05-16 00:04:32 -04:00
|
|
|
type Angels = [Angel]
|
|
|
|
type BoardState = (NeoTokyo, Downed, Angels)
|
2019-05-15 02:50:27 -04:00
|
|
|
data MainCharacter = Asuka | Shinji | Rei | Misato | Ritsuko | Gendo
|
|
|
|
deriving (Show, Eq)
|
2019-05-16 00:04:32 -04:00
|
|
|
data Angel = Sachial | Shamshel | Ramiel | Gaghiel | Israfel
|
|
|
|
| Sandalphon | Matariel | Sahaquiel | Treul | Leliel
|
|
|
|
| Bardiel | Zeruel | Arael | Armisael | Kaworu | Man | Lillith | Adam
|
|
|
|
|
|
|
|
data Card = MainCharacter | Angel | Eva | Put | Battle | Instrumentality | Character
|
|
|
|
type Deck = [Card]
|
|
|
|
type Hand = [Card]
|
|
|
|
type Discard = [Card]
|
|
|
|
type Player = (String, Hand, Deck, Discard, Instrumentality)
|
|
|
|
type Players = [Player]
|
|
|
|
|