slightly clean up day21p2

This commit is contained in:
Quinten Kock 2021-12-21 10:07:07 +01:00
parent 46154a9a1b
commit 56c3fded10
1 changed files with 1 additions and 9 deletions

View File

@ -26,16 +26,11 @@ put x = NdState $ const [((), x)]
get :: NdState a a
get = NdState (\s -> [(s,s)])
putMany :: [a] -> NdState a ()
putMany xs = NdState $ const $ map (\x -> ((), x)) xs
returnMany :: [b] -> NdState a b
returnMany xs = NdState (\s -> map (\x -> (x,s)) xs)
data PlayerState = PS {score :: Integer, field :: Int} deriving Show
data GameState = P1 PlayerState PlayerState | P2 PlayerState PlayerState deriving Show
-- type Game = State (GameState, DiceState)
type Game = NdState GameState
@ -85,7 +80,7 @@ move = do
(_,_) -> Nothing
runGame :: GameState -> (Integer, Integer)
runGame gs = rgA ! (gsTuple gs) where
runGame = runGame' where
rgA = array ((False,0,1,0,1), (True,30,10,30,10))
[let key = (p,s1,f1,s2,f2) in (key, runGame' $ tupleGs key) |
p <- [False, True], s1 <- [0..30], s2 <- [0..30], f1 <- [1..10], f2 <- [1..10]]
@ -108,6 +103,3 @@ main = do
print (p1pos, p2pos)
print $ part2 p1pos p2pos
print "Bye"