There's still something screwy going on here with the random generation or passing the gen to cointoss. Shouldn't newStdGen be updating getStdGen? I've been running it and entering 'h' four (4) times, then aborting with CNTL-C. Each time I either get You lose! You lose! You win! You lose! or You win! You win! You lose! You win! That's all, should be getting some variation. Michael ====================== import System.Random coinToss :: StdGen -> IO () coinToss gen = putStrLn "What's your guess, heads or tails ('h' or 't')?" >> fmap head getLine >>= \c -> let (randInt, _) = randomR(0,1) gen :: (Int, StdGen) in if c == ((!!) "ht" randInt) then putStrLn "You win!" else putStrLn "You lose!" main = do gen <- getStdGen coinToss gen gen <- newStdGen main --- On Sun, 10/11/09, Felipe Lessa <felipe.lessa@gmail.com> wrote:
|