lab.cpp/Chess/dep/term.cpp

51 lines
1.1 KiB
C++

// #include "term.h"
/* [1] Operations terminal
=========================================================*/
void clear_screen(){ // efface l'ecran
cout << "\033[H\033[2J";
}
void setfont(const TERM_COLOR c, const TERM_STYLE s){
cout << "\033[" << s << ";" << c << "m";
}
void err(string msg){
// On affiche le WARNING
setfont(RED, BOLD);
cout << "/!\\ ";
// On affiche le message d'erreur
setfont(RED);
cout << msg << endl;
// On attends l'appui sur une touche
setfont();
sleep(1);
}
// Affiche un texte avec une couleur par caractere
void multicolor(string str, const TERM_STYLE s){
srand(time(0)); // initialisation du random
// On recupere les valeurs possibles (couleurs)
int *colorvalues = TERM_COLOR_VALUES;
int len = sizeof(colorvalues);
int color;
TERM_COLOR tc;
// Pour chaque caractere de la string
for( int i = 0 ; i < str.size() ; i++ ){
color = rand() % len; // on prends une couleur aleatoire
tc = static_cast<TERM_COLOR>(colorvalues[color]); // on la met au bon format
setfont(tc, s);
cout << str.at(i);
setfont();
}
}