Как реализовать func для изменения char в списке? - PullRequest
0 голосов
/ 28 октября 2019

Привет всем! У меня есть некоторые проблемы со списками в 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

// заглавные буквы означают белые и маленькие буквы означают черные

Может кто-нибудь помочь с этим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...