cheeky non working commit to save my work
This commit is contained in:
parent
394f4b4df1
commit
22bf2d1f48
@ -10,7 +10,7 @@ conHurt charX charY oldBoardState
|
||||
{ bsGameLog = (bsGameLog oldBoardState)
|
||||
++ [ Right (show charX ++ " is not adjacent to " ++ show charY ++ ", could not hurt") ]
|
||||
}
|
||||
| isAlone charX oldGroups = oldBoardState
|
||||
| isAlone charY oldGroups = oldBoardState
|
||||
{ bsGameLog = (bsGameLog oldBoardState)
|
||||
++ [ Left (show charX ++ " hurt " ++ show charY ++ ", " ++ show charY ++ " is downed") ]
|
||||
, bsNeoTokyo = (bsNeoTokyo oldBoardState)
|
||||
@ -35,7 +35,7 @@ conAttract charX charY oldBoardState
|
||||
{ bsGameLog = (bsGameLog oldBoardState)
|
||||
++ [ Right (show charX ++ " is not adjacent to " ++ show charY ++ ", could not attract") ]
|
||||
}
|
||||
| isAlone charX oldGroups = oldBoardState
|
||||
| isDowned charX oldDowned = oldBoardState
|
||||
{ bsGameLog = (bsGameLog oldBoardState)
|
||||
++ [ Left (show charX ++ " attracted " ++ show charY ++ ", " ++ show charY ++ " is ready") ]
|
||||
, bsNeoTokyo = (bsNeoTokyo oldBoardState)
|
||||
|
@ -1,10 +1,7 @@
|
||||
module Groups where
|
||||
|
||||
import State
|
||||
import Util
|
||||
import Cards
|
||||
import Types
|
||||
import Data.Either
|
||||
|
||||
-- Each characters default adjacents
|
||||
defFrens :: MainCharacter -> [MainCharacter]
|
||||
@ -59,7 +56,7 @@ removeFromGroup c g = ( [c] : (groupMinusChar c) : (otherGroups c g) )
|
||||
joinGroups :: MainCharacter -> MainCharacter -> Groups -> Groups
|
||||
joinGroups x y g
|
||||
| x `elem` curFrens y g = g
|
||||
| otherwise = (groupX ++ groupY) : (otherGroups x g)
|
||||
| otherwise = (groupX ++ groupY) : (otherGroups x . otherGroups y) g
|
||||
where
|
||||
groupX = charsGroup x g
|
||||
groupY = charsGroup y g
|
23
Init.hs
Normal file
23
Init.hs
Normal file
@ -0,0 +1,23 @@
|
||||
module Init where
|
||||
|
||||
import Types
|
||||
import Cards
|
||||
|
||||
initBS = BoardState
|
||||
{ bsNeoTokyo = NeoTokyo
|
||||
{ ntGroups = [ [Shinji], [Asuka], [Rei], [Misato], [Ritsuko], [Gendo] ]
|
||||
, ntEvas = [ UnitZero, UnitOne, UnitTwo ]
|
||||
, ntAngels = []
|
||||
, ntPutCards = []
|
||||
, ntDowned = []
|
||||
}
|
||||
, bsPlayerLib =
|
||||
[ (1, ("tA", [ S02_Asuka, S02_Asuka, S01_Shinji ], [], []))
|
||||
, (2, ("lunarised", [ S03_Rei, S03_Rei, S01_Shinji, S05_Ritsuko ], [], []))
|
||||
]
|
||||
, bsActivePlayers = [1,2]
|
||||
, bsPriorityPlayer = 1
|
||||
, bsCardStack = []
|
||||
, bsCardLib = gCardLib
|
||||
, bsGameLog = []
|
||||
}
|
31
Print.hs
Normal file
31
Print.hs
Normal file
@ -0,0 +1,31 @@
|
||||
module Print where
|
||||
|
||||
import Types
|
||||
import Groups
|
||||
import Data.List
|
||||
import Data.Either
|
||||
|
||||
printState :: BoardState -> IO ()
|
||||
printState bs = do
|
||||
putStrLn "== BOARD STATE =="
|
||||
putStrLn " - Groups -"
|
||||
mapM_ putStrLn $ let zipGroup = zip ['A' ... ] groups in map
|
||||
(\(id, x) -> id ++ " ~ [ " ++ concatGroup x ++ " ] <-> "
|
||||
concatGroup x $ map snd $ filter
|
||||
(\(id,y) -> foldr (||) False (map (\z -> (any x) (getAdj z groups)) y) groups)
|
||||
zipGroup
|
||||
(\(id, x) -> foldr (||) False (map (== x `elem` $ zipGroup
|
||||
putStrLn " - Downed -"
|
||||
mapM_ putStrLn $ map
|
||||
(\x -> "~ " ++ show x) $ groups
|
||||
putStrLn " - GameLog -"
|
||||
mapM_ putStrLn $ map
|
||||
(\x ->
|
||||
case x of
|
||||
Left m -> m
|
||||
Right e -> "<ERROR> : " ++ e)
|
||||
(bsGameLog bs)
|
||||
putStrLn " ================="
|
||||
where
|
||||
groups = (ntGroups . bsNeoTokyo) bs
|
||||
concatGroup x = concat $ intersperse ", " (map show x)
|
Loading…
Reference in New Issue
Block a user