更改 WinGHCi 中特定字符的输出颜色
Changing output colours of specific chars in WinGHCi
所以我正在尝试为 Haskell 制作一个 ASCII 国际象棋游戏。在考虑如何表示棋子时,我认为给字母不同的颜色会是一个很好的方式。
因此我需要在 haskell 代码中以某种方式指定某个输出字符应该是哪种颜色。有没有为我准备好的包裹,我只是没有找到?或者有一些非常简单的方法吗?
或者对于如何表示棋子颜色还有其他建议吗?我首先想到的解决方法是为白人、白主教和黑国王做 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 ]
所以我正在尝试为 Haskell 制作一个 ASCII 国际象棋游戏。在考虑如何表示棋子时,我认为给字母不同的颜色会是一个很好的方式。
因此我需要在 haskell 代码中以某种方式指定某个输出字符应该是哪种颜色。有没有为我准备好的包裹,我只是没有找到?或者有一些非常简单的方法吗?
或者对于如何表示棋子颜色还有其他建议吗?我首先想到的解决方法是为白人、白主教和黑国王做 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 ]