2017-07-09 3 views
0

Also ich versuche, ein ASCII-Schachspiel für Haskell zu machen. Wenn ich darüber nachdenke, wie man die Schachfiguren darstellt, denke ich, dass es schön wäre, den Buchstaben verschiedene Farben zu geben.Ändern der Ausgabefarben bestimmter Zeichen in WinGHCi

Also brauche ich irgendwie im Haskell-Code, um anzugeben, welche Farbe ein bestimmtes Ausgabezeichen sein soll. Gibt es ein solches Paket für mich, das ich gerade nicht gefunden habe? Oder gibt es einen ganz einfachen Weg?

Oder gibt es andere Vorschläge, wie man diese Darstellung von chesspiececolor macht? Mein erster Gedanke eines Workarounds war, wP, wB, bK für weißen Peon, weißen Bischof und schwarzen König zu machen, aber ich denke, es sieht ziemlich unordentlich aus.

Danke.

Antwort

2

Sie können das ansi-terminal Paket interessant finden. Hier können Sie leicht die Vordergrundfarbe, die Hintergrundfarbe, den Stil usw. ändern. Hier ist zum Beispiel eine Funktion, die die Zeichenfolge, die Sie ihr geben, in Fettdruck mit einem grünen Hintergrund druckt.

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 ] 
+1

Ich wünschte, mehr Menschen wüssten über 'ansi-terminal'. Im Gegensatz zur Ausgabe hartcodierter ANSI-Escapes funktioniert das 'ansi-terminal'-Paket transparent auf Windows und Linux. (Mit ein paar Vorbehalten ...) – MathematicalOrchid

+0

Ja, das scheint so, als könnte ich es gebrauchen ... Ich habe mir etwas Zeit genommen, um herauszufinden, wie man alles installiert, aber ... Danke. –

Verwandte Themen