X-Git-Url: https://git.njae.me.uk/?p=advent-of-code-20.git;a=blobdiff_plain;f=advent15%2Fsrc%2Fadvent15loop.hs;h=f023cf9e330717d0a39c066d82f5c952165f0412;hp=7d2d258c87150bf19ee47e1aacb3b17f1535cc50;hb=a3256d3ffbd05ca56a87b36402827144d1ce4906;hpb=de640d46282134bb95db645a2bd8de687f3251b1 diff --git a/advent15/src/advent15loop.hs b/advent15/src/advent15loop.hs index 7d2d258..f023cf9 100644 --- a/advent15/src/advent15loop.hs +++ b/advent15/src/advent15loop.hs @@ -25,6 +25,11 @@ runGame seed roundsNeeded = gameLoop roundsNeeded round word history readSTRef word +gameLoop targetRound round word history = + do gameStep round word history + `untilM_` ((== targetRound) <$> readSTRef round) + return () + -- gameLoop targetRound round word history = -- do ( gameStep round word history -- `untilM_` (do r <- readSTRef round @@ -44,11 +49,16 @@ runGame seed roundsNeeded = -- (gameStep round word history ) -- return () -gameLoop targetRound round word history = - do whileM_ (do r <- readSTRef round - return $ r /= targetRound ) - $ gameStep round word history - return () +-- gameLoop targetRound round word history = +-- do whileM_ (do r <- readSTRef round +-- return $ r /= targetRound ) +-- $ gameStep round word history +-- return () + +-- gameLoop targetRound round word history = +-- do whileM_ ((/= targetRound) <$> readSTRef round) +-- $ gameStep round word history +-- return () seedGame seed historySize = do round <- newSTRef $ length seed