Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Main
- ( main
- ) where
- import Data.Char
- import qualified Data.Set as S
- hangman :: String -> S.Set Char -> IO ()
- hangman word guessed = do
- c <- getChar
- if isAlpha c
- then do
- let newGuessed = (S.insert c guessed)
- putStrLn $ map (\c -> if c `S.member` newGuessed then c else '_') word
- putStrLn $ "Guessed: " ++ S.toList newGuessed
- putStrLn $ take 80 $ repeat '-'
- putStrLn ""
- if (S.fromList word) `S.isSubsetOf` newGuessed
- then putStrLn "You won!" >> return ()
- else hangman word newGuessed
- else hangman word guessed
- main :: IO ()
- main = do
- hangman "hello" S.empty
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement