module State where -- needed state: -- NeoTokyo groups -- Put cards -- id counter -- -- -- -- type Group = [MainCharacter] type NeoTokyo = [Group] type Downed = [MainCharacter] type Angels = [Angel] type BoardState = (NeoTokyo, Downed, Angels) data MainCharacter = Asuka | Shinji | Rei | Misato | Ritsuko | Gendo deriving (Show, Eq) 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]