Hello world (com estilo) em Ncurses, uma biblioteca 'gráfica' para C/C++, que permite fazer uns ASCII art no terminal.
#include <ncurses.h>
int main(
initscr(); //inicia a tela
int x,y;
getmaxyx(stdscr, y, x); //pega o tamanho da tela do terminal
start_color(); //inicia o uso da cor
init_pair(1, COLOR_WHITE, COLOR_RED); //cria um par (a ncurses só usa pares de cores) com as letras brancas e o fundo vermelho e o 'id' desse par é 1 (primeiro argumento)
attron(COLOR_PAIR(1)); //ativa a cor de 'id' 1, a cor acima
mvprintw(6, 11, "Hello world"); //escreve hello world na posição (6, 11)
for(int i = 0; i < x; i++)
mvaddch(y-1, i, ' '); //escreve o carácter vazio na posição (y-1, i). O protótipo dessa função é: mvaddch(y, x, carácter)
attroff(COLOR_PAIR(1)); //desativa o par 1
getch();
endwin(); //fecha a tela criada anteriormente
return 0;
}
Isso apenas desenha uma barra vermelha e escreve 'hello world' no terminal (linux).
Para compilar use:
g++ arquivo_com_codigo.cpp -o hello -lncurses
Para instalar a ncurses no ubuntu use:
sudo apt-get install libncurses-dev
Um vídeo legal onde foi usada a ncurses: