A basic guess the number game in Haskell.
| CODE | module Main where
import System import Random import IO
makeGuesses :: Int -> Int -> IO () makeGuesses _ 0 = return () makeGuesses correctAnswer nGuessesRemaining = do putStr "Your guess? " hFlush stdout input <- getLine let guess = read input case compare guess correctAnswer of LT -> do putStrLn "Too low!" makeGuesses correctAnswer (nGuessesRemaining - 1) EQ -> do putStrLn "Correct!" return () GT -> do putStrLn "Too high!" makeGuesses correctAnswer (nGuessesRemaining - 1)
main :: IO () main = do (maxNumberS:nGuessesS:_) <- getArgs let (maxNumber, nGuesses) = map read (maxNumberS, nGuessesS) correctAnswer <- randomRIO (0, maxNumber) makeGuesses correctAnswer nGuesses |
|