所以我正在尝试为Haskell制作一个ASCII国际象棋游戏。在考虑如何代表国际象棋时,我认为给不同颜色的字母是一种很好的方式。
因此,我需要在haskell代码中指定某个输出字符应该是哪种颜色。我有没有找到这样的包裹,我还没找到?或者有一些非常简单的方法吗?
或者是否有关于如何进行chesspiececolor表示的其他建议?我第一次想到一个解决方法是为白色的peon,白色的主教和黑色的国王做wP,wB,bK,但我觉得它看起来很杂乱。
感谢。
答案 0 :(得分:2)
您可能会发现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 ]