prueba esto
Código C++:
Ver original#include <iostream>
//Text colors
#define tblack "\E[30m" // Texto color negro
#define tred "\E[31m" // Texto color rojo
#define tgreen "\E[32m" // Texto color verde
#define tyellow "\E[33m" // Texto color amarillo
#define tblue "\E[34m" // Texto color azul
#define tpurple "\E[35m" // Texto color morado
#define tcyan "\E[36m" // Texto color cyan
#define twhite "\E[37m" // Texto color blanco
//Back colors
#define fblack "\E[40m" // Fondo color negro
#define fred "\E[41m" // Fondo color rojo
#define fgreen "\E[42m" // Fondo color verde
#define fbrown "\E[43m" // Fondo color cafe
#define fblue "\E[44m" // Fondo color azul
#define fpurple "\E[45m" // Fondo color morado
#define fcyan "\E[46m" // Fondo color cyan
#define fgray "\E[47m" // Fondo color gris
//text attributes
#define reset "\E[m" // Resetiar todo
#define bold "\E[1m" // negrita
#define nbold "\E[22m" // no negrita
#define italic "\E[3m" // cursiva
#define nitalic "\E[23m" // no cursiva
#define underline "\E[4m" // subrayado
#define nunderline "\E[24m" // no subrayado
#define flashing "\E[5m" // parpadeante
#define nflasing "\E[25m" // no parpadeante
#define reverse "\E[7m" // inverso
#define nreverse "E[27m" // no inverso
//screen
#define clearscr "\E[2J" // borrar pantalla
#define fille "\E#8" // llenar pantalla con e
#define dendofline "\E[K" // borrar hasta fin de linea
#define cols80 "\E[?3h" // modo 80 columnas
#define cols132 "\E[?3l" // modo 132 columnas
#define reverseon "\E[?5h" // inverso encendido
#define reverseoff "\E[?5l" // inverso apagado
#define autowrapon "\E[?7h" // autowrap prendido
#define autowrapof "E[?7l" // autowrap apagado
#define towardgraphic "\E(0" // hacia modo grafico
#define fromgraphic "\E(B" // desde modo grafico
//cursor
#define upperleftcorner "\E[H" // Cursor en la esquina superior isquiera
#define saveAtributes "\E8" // Guarda los atrivutos
#define restaureAtrivutes "\E[u" // Restaura los atrivutos
#define pause "\E[s" // Pequeña pausa
inline void up(int x){std::cout << "\E[" << x << "A";}
inline void down(int x){std::cout << "\E[" << x << "B";}
inline void rigth(int y){std::cout << "\E[" << y << "C";}
inline void left(int y){std::cout << "\E[" << y << "D";}
inline void cursorpos(int x, int y){std::cout << "\E[" << y << ";" << x << "H";}
solo son secuencias de escape para la consola