Привет всем! У меня есть некоторые проблемы со списками в Haskell
Я должен реализовать функцию chess , которая имеет 2 аргумента типа [String]. Каждая из этих строк в обоих списках содержит 3 символа:
1.первая обозначает фигуру ('K' - король, 'Q' - королева, 'R' - ладья, 'B' - слон, 'N'- рыцарь,' P '- пешка)
2. секунда обозначает столбец (' a '-' h ')
3. Третья строка (' 1 '-' 8 ')
module Chess where
type Result = [String]
pp :: Result -> IO ()
pp x = putStr (concat (map (++"\n") x))
result :: Result
result = ["8........",
"7........",
"6........",
"5........",
"4........",
"3........",
"2........",
"1........",
" abcdefgh"]
chess :: String -> String -> Result
/* chess func code */
и при выполнении функции шахматы я должен получить следующий список
Prelude> pp( chess["Ke1","Ra1","Rh1","Pa2","Be5"] ["Ke8","Ra8","Rh8","Pa7","Qd8","Bc8","Nb8"])
8rnbqk..r
7p.......
6........
5....B...
4........
3........
2P.......
1R...K..R
abcdefgh
// заглавные буквы означают белые и маленькие буквы означают черные
Может кто-нибудь помочь с этим?