#define WHITE '0' // White on Black
#define RED '1' // Red on Black
#define GREEN '2' // Green on Black
#define YELLOW '3' // Yellow on Black
#define BLUE '4' // Blue on Black
#define MAGENTA '5' // Magenta on Black
#define CYAN '6' // Cyan on Black
#define BLACKOG '7' // Black on Gray
#define BACKOW '8' // Black on White
#define REDOW '9' // Red on White
#define GREENOW 'A' // Green on White
#define YELLOWOW 'B' // Yellow on White
#define BLUEOW 'C' // Blue on White
#define MAGENTAOW 'D' // Magenta on White
#define CYANOW 'E' // Cyan on White
#define WHITEOW 'F' // White on White
#ifdef WIN32
#include <windows.h>
//ändert die ausgabefarbe in der konsole
void TextColor(char color)
{
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
switch (color)
{
case '0': // White on Black
SetConsoleTextAttribute(hStdOut,
FOREGROUND_INTENSITY | FOREGROUND_RED |
FOREGROUND_GREEN | FOREGROUND_BLUE);
break;
case '1': // Red on Black
SetConsoleTextAttribute(hStdOut,
FOREGROUND_INTENSITY | FOREGROUND_RED);
break;
case '2': // Green on Black
SetConsoleTextAttribute(hStdOut,
FOREGROUND_INTENSITY | FOREGROUND_GREEN);
break;
case '3': // Yellow on Black
SetConsoleTextAttribute(hStdOut,
FOREGROUND_INTENSITY | FOREGROUND_RED |
FOREGROUND_GREEN);
break;
case '4': // Blue on Black
SetConsoleTextAttribute(hStdOut,
FOREGROUND_INTENSITY | FOREGROUND_BLUE);
break;
case '5': // Magenta on Black
SetConsoleTextAttribute(hStdOut,
FOREGROUND_INTENSITY | FOREGROUND_RED |
FOREGROUND_BLUE);
break;
case '6': // Cyan on Black
SetConsoleTextAttribute(hStdOut,
FOREGROUND_INTENSITY | FOREGROUND_GREEN |
FOREGROUND_BLUE);
break;
case '7': // Black on Gray
SetConsoleTextAttribute(hStdOut,
BACKGROUND_INTENSITY | BACKGROUND_INTENSITY);
break;
case '8': // Black on White
SetConsoleTextAttribute(hStdOut,
BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
BACKGROUND_RED | BACKGROUND_GREEN |
BACKGROUND_BLUE);
break;
case '9': // Red on White
SetConsoleTextAttribute(hStdOut,
BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
BACKGROUND_RED | BACKGROUND_GREEN |
BACKGROUND_BLUE |
FOREGROUND_RED);
break;
case 'A': // Green on White
SetConsoleTextAttribute(hStdOut,
BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
BACKGROUND_RED | BACKGROUND_GREEN |
BACKGROUND_BLUE | FOREGROUND_GREEN);
break;
case 'B': // Yellow on White
SetConsoleTextAttribute(hStdOut,
BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
BACKGROUND_RED | BACKGROUND_GREEN |
BACKGROUND_BLUE | FOREGROUND_RED |
FOREGROUND_GREEN);
break;
case 'C': // Blue on White
SetConsoleTextAttribute(hStdOut,
BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
BACKGROUND_RED | BACKGROUND_GREEN |
BACKGROUND_BLUE | FOREGROUND_BLUE);
break;
case 'D': // Magenta on White
SetConsoleTextAttribute(hStdOut,
BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
BACKGROUND_RED | BACKGROUND_GREEN |
BACKGROUND_BLUE | FOREGROUND_RED |
FOREGROUND_BLUE);
break;
case 'E': // Cyan on White
SetConsoleTextAttribute(hStdOut,
BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
BACKGROUND_RED | BACKGROUND_GREEN |
BACKGROUND_BLUE | FOREGROUND_GREEN |
FOREGROUND_BLUE);
break;
case 'F': // White on White
SetConsoleTextAttribute(hStdOut,
BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
BACKGROUND_RED | BACKGROUND_GREEN |
BACKGROUND_BLUE | FOREGROUND_RED |
FOREGROUND_GREEN | FOREGROUND_BLUE);
break;
default : // White on Black
SetConsoleTextAttribute(hStdOut, FOREGROUND_RED |
FOREGROUND_GREEN | FOREGROUND_BLUE);
break;
}
}
#else //WIN32
void TextColor(char color)
{
switch (color)
{
case '0': // White on Black
printf("\033[37m");
printf("\033[40m");
break;
case '1': // Red on Black
printf("\033[31m");
printf("\033[40m");
break;
case '2': // Green on Black
printf("\033[32m");
printf("\033[40m");
break;
case '3': // Yellow on Black
printf("\033[33m");
printf("\033[40m");
break;
case '4': // Blue on Black
printf("\033[34m");
printf("\033[40m");
break;
case '5': // Magenta on Black
printf("\033[35m");
printf("\033[40m");
break;
case '6': // Cyan on Black
printf("\033[36m");
printf("\033[40m");
break;
case '7': // Black on Gray
printf("\033[30m");
printf("\033[47m");
break;
case '8': // Black on White
printf("\033[30m");
printf("\033[47m");
break;
case '9': // Red on White
printf("\033[41m");
printf("\033[47m");
break;
case 'A': // Green on White
printf("\033[42m");
printf("\033[47m");
break;
case 'B': // Yellow on White
printf("\033[43m");
printf("\033[47m");
break;
case 'C': // Blue on White
printf("\033[44m");
printf("\033[47m");
break;
case 'D': // Magenta on White
printf("\033[45m");
printf("\033[47m");
break;
case 'E': // Cyan on White
printf("\033[46m");
printf("\033[47m");
break;
case 'F': // White on White
printf("\033[47m");
printf("\033[47m");
break;
default : // White on Black
printf("\033[40m");
printf("\033[37m");
break;
}
}
#endif