所以我正在尝试为 Haskell 制作一个 ASCII 国际象棋游戏。在考虑如何表示棋子时,我认为给字母赋予不同的颜色将是一个不错的方法。
因此,我需要在haskell代码中以某种方式指定某个输出字符应该是哪种颜色。有没有为我准备好的这样一个我还没有找到的包裹?还是有一些非常简单的方法可以做到这一点?
或者还有其他关于如何表示棋盘颜色的建议吗?我首先想到的解决方法是为白色 peon、白色主教和黑色国王做 wP、wB、bK,但我认为它看起来很混乱。
谢谢。
你可能会发现这个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 ]