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

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 ->
newStdGen >>= \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 dict1 dict2 start m =
newStdGen >>= \gen ->
let first = generatePhrase dict1 start gen
in putStrLn (unwords first) >>
in putStrLn ("Модель 1: (" ++ start ++ ") " ++ unwords first) >>
loop dict1 dict2 first m
where
loop d1 d2 prev 0 = return ()
loop d1 d2 prev i =
putStr "Модель 2: " >>
dialogStep d2 prev >>= \resp ->
if null resp then return () else
putStr "Модель 1: " >>
dialogStep d1 resp >>= \resp2 ->
if null resp2 then return () else
loop d1 d2 resp2 (i-1)