Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -13,21 +13,21 @@ player = do
|
|||
|
||||
play ps =
|
||||
if null ps then
|
||||
putStrLn "Unable to find a solution"
|
||||
putStrLn "Unable to find a solution"
|
||||
else do i <- randomRIO(0,length ps - 1)
|
||||
let p = ps!!i :: String
|
||||
putStrLn ("My guess is " ++ p) >> putStrLn "How many bulls and cows?"
|
||||
input <- takeInput
|
||||
let bc = input ::[Int]
|
||||
ps' = filter((==sum bc).length. filter id. map (flip elem p))
|
||||
$ filter((==head bc).length. filter id. zipWith (==) p) ps
|
||||
if length ps' == 1 then putStrLn $ "The answer is " ++ head ps'
|
||||
else play ps'
|
||||
putStrLn ("My guess is " ++ p) >> putStrLn "How many bulls and cows?"
|
||||
input <- takeInput
|
||||
let bc = input ::[Int]
|
||||
ps' = filter((==sum bc).length. filter id. map (flip elem p))
|
||||
$ filter((==head bc).length. filter id. zipWith (==) p) ps
|
||||
if length ps' == 1 then putStrLn $ "The answer is " ++ head ps'
|
||||
else play ps'
|
||||
|
||||
takeInput = do
|
||||
inp <- getLine
|
||||
let ui = map digitToInt $ take 2 $ filter(`elem` ['0'..'4']) inp
|
||||
if sum ui > 4 || length ui /= 2 then
|
||||
do putStrLn "Wrong input. Try again"
|
||||
takeInput
|
||||
else return ui
|
||||
takeInput
|
||||
else return ui
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue