Изменение цвета вывода определенных символов в WinGHCi

Поэтому я пытаюсь сделать шахматную игру в ASCII для Haskell. Размышляя о том, как изображать шахматные фигуры, я думаю, что придание буквам разных цветов было бы хорошим способом.

Таким образом, мне нужно каким-то образом, в коде haskell, указать, какой цвет должен быть для определенного выходного символа. Есть ли такой готовый пакет для меня, которого я просто не нашел? Или есть какой-то довольно простой способ сделать это?

Или есть другие предложения о том, как сделать это представление цвета шахматной фигуры? Моя первая мысль об обходном пути состояла в том, чтобы сделать wP, wB, bK для белого пиона, белого слона и черного короля, но я думаю, что это выглядит довольно беспорядочно.

Благодарю.

1 ответ

Решение

Вы можете найти ansi-terminal Пакет интересный. Это позволяет вам легко менять цвет переднего плана, цвет фона, стиль и т. Д. Например, здесь есть функция, которая распечатает строку, выделенную вами, жирным красным цветом и зеленым фоном.

import System.Console.ANSI

earlyChristmas :: String -> IO ()
earlyChristmas s = do
  setSGR [ SetConsoleIntensity BoldIntensity
         , SetColor Foreground Vivid Red
         , SetColor Background Dull Green
         ]
  putStr s
  setSGR [ Reset ]
Другие вопросы по тегам