source: 2016/24/AnttuK/Adventure.hs @ 7444

Revision 7441, 762 bytes checked in by karkaite, 3 years ago (diff)

lol pitaa upata kosadfgdsa

Line 
1module Adventure where
2
3import qualified Data.Map.Lazy as M
4
5data Opts = GoTo Room | Text String
6data Room = Room String
7             (M.Map String Opts)
8
9room1 :: Room
10room1 = Room "hi" M.fromList
11    [("expand"
12       ,Text "umm nothing happened")
13     ,"mlg"
14      ,Text "OOOO"
15     )
16    ]
17
18prompt :: String -> IO String
19prompt ps1 = do
20    putStr ps1
21    hFlush stdout
22    return getLine
23   
24
25-- getLine :: IO String
26
27adventure :: Room -> IO ()
28adventure rm@(Room str opts) = do
29    putStrLn str
30    x <- prompt "> "
31    let eXPR = M.lookup x opts
32    in case eXPRs of Just (Text xt)    -> (print xt >> adventure rm)
33                     Just (GoTo rm2)   -> adventure rm2
34                     Nothing           -> adventure rm
Note: See TracBrowser for help on using the repository browser.