0

所以我正在尝试为 Haskell 制作一个 ASCII 国际象棋游戏。在考虑如何表示棋子时,我认为给字母赋予不同的颜色将是一个不错的方法。

因此,我需要在haskell代码中以某种方式指定某个输出字符应该是哪种颜色。有没有为我准备好的这样一个我还没有找到的包裹?还是有一些非常简单的方法可以做到这一点?

或者还有其他关于如何表示棋盘颜色的建议吗?我首先想到的解决方法是为白色 peon、白色主教和黑色国王做 wP、wB、bK,但我认为它看起来很混乱。

谢谢。

4

1 回答 1

3

你可能会发现这个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 ]
于 2017-07-09T22:03:41.573 回答