2014-01-07 30 views
0

我正在使用Windows XP控制檯創建一個基於ASCII的C++遊戲。我正在使用SetConsoleTextAttribute爲遊戲着色文本和背景。我有蜜蜂能夠獲得大部分我想要的顏色,但是我無法完全正確的一種顏色是棕色。我已經能夠找到的唯一建議已經列出使用6作爲前景的值(SetConsoleTextAttribute(hConsole,(6)))是我一直在使用。然而,這是以棕褐色出現的,比任何東西都更髒。有什麼辦法可以使用這個功能得到真正的棕色?如果不是,我還需要在Console Ascii中使用哪些其他選項?就像我說的,我發現很多網頁都說使用6或FOREGROUND_RED | FOREGROUDN_GREEN,但那不是真的棕色。提前致謝!在C++控制檯中使用Brown

+0

這是終端設置的錯誤。它決定每個ANSI值的含義。除非您有256色終端,否則從基本控制檯程序內部可以做的事情不多。 – Cogwheel

+0

爲了更好地控制控制檯顏色,您需要使用具有這些功能的庫(例如curses)。 Windows控制檯沒有針對該功能的已發佈的API。 –

+0

控制檯中可用的顏色基本上是20年前可用硬件保證的最低限度的顏色。微軟從來沒有任何動力來改善它,因爲他們傾向於使用Windows界面。 –

回答

0

這是終端設置的錯誤。它決定每個ANSI值的含義。除非您有256色終端,否則從基本控制檯程序內部可以做的事情不多。

可能有一種方法來改變終端的設置使用各種Windows API(註冊表設置?ui自動化或什麼?),但這是一個其他的魚,我會遵循Windows程序員。

爲了您自己的目的,您可以進入終端設置並將嘔吐黃色更改爲您想要的棕色。

+0

感謝您的建議。我會看看這是否能滿足我的需求!謝謝! – Evanias