Ответ 1
Консоль поддерживает только 16 цветов, которые создаются путем объединения четырех значений следующим образом (я мог бы смутить серый /darkgray, но вы поняли):
namespace ConsoleForeground
{
enum {
BLACK = 0,
DARKBLUE = FOREGROUND_BLUE,
DARKGREEN = FOREGROUND_GREEN,
DARKCYAN = FOREGROUND_GREEN | FOREGROUND_BLUE,
DARKRED = FOREGROUND_RED,
DARKMAGENTA = FOREGROUND_RED | FOREGROUND_BLUE,
DARKYELLOW = FOREGROUND_RED | FOREGROUND_GREEN,
DARKGRAY = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE,
GRAY = FOREGROUND_INTENSITY,
BLUE = FOREGROUND_INTENSITY | FOREGROUND_BLUE,
GREEN = FOREGROUND_INTENSITY | FOREGROUND_GREEN,
CYAN = FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE,
RED = FOREGROUND_INTENSITY | FOREGROUND_RED,
MAGENTA = FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE,
YELLOW = FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN,
WHITE = FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE,
};
}