Programing in Haskell / Chapter.9 Excsise(3)
Nimというゲームを作る。画面は割と簡単にできたけど、入力を受け付けてIntに変換ができない!!
> type Row = Int > initialNim :: [Row] > initialNim = [9,8,7,6,5,4,3,2,1] > > nimToStar :: Int -> String > nimToStar n = take n (repeat '*') > > putStar :: (Pos, Int) -> IO () > putStar ((x, y), num) = writeat (x, y) (nimToStar num) > > > showNim :: [Row] -> IO () > showNim row = do { cls > ; putLines pair > } > where > align = ( (length row) + 30 ) `div` 10 > pair = zip [1..(length row)] row > putLines pair = case pair of > [] -> return () > ((y, num):rest) -> do { writeat (1, y) ((show y) ++ ":") > ; writeat (align, y) (nimToStar num) > ; putLines rest > }