Украсил вывод диалога

This commit is contained in:
2024-12-09 20:40:39 +03:00
parent 13dbc3ceca
commit bf4d97da90

View File

@@ -85,19 +85,21 @@ dialogStep dict prevPhrase =
Just key -> Just key ->
newStdGen >>= \gen -> newStdGen >>= \gen ->
let p = generatePhrase dict key gen let p = generatePhrase dict key gen
in putStrLn (unwords p) >> return p in putStrLn ("(" ++ key ++ ") " ++ unwords p) >> return p
twoModelsDialog :: Map String [String] -> Map String [String] -> String -> Int -> IO () twoModelsDialog :: Map String [String] -> Map String [String] -> String -> Int -> IO ()
twoModelsDialog dict1 dict2 start m = twoModelsDialog dict1 dict2 start m =
newStdGen >>= \gen -> newStdGen >>= \gen ->
let first = generatePhrase dict1 start gen let first = generatePhrase dict1 start gen
in putStrLn (unwords first) >> in putStrLn ("Модель 1: (" ++ start ++ ") " ++ unwords first) >>
loop dict1 dict2 first m loop dict1 dict2 first m
where where
loop d1 d2 prev 0 = return () loop d1 d2 prev 0 = return ()
loop d1 d2 prev i = loop d1 d2 prev i =
putStr "Модель 2: " >>
dialogStep d2 prev >>= \resp -> dialogStep d2 prev >>= \resp ->
if null resp then return () else if null resp then return () else
putStr "Модель 1: " >>
dialogStep d1 resp >>= \resp2 -> dialogStep d1 resp >>= \resp2 ->
if null resp2 then return () else if null resp2 then return () else
loop d1 d2 resp2 (i-1) loop d1 d2 resp2 (i-1)