Ajout TODOLIST + Couleurs opti + caracteres unicode
This commit is contained in:
parent
851d048e18
commit
24d17141ef
|
@ -0,0 +1,12 @@
|
|||
A FAIRE
|
||||
=======
|
||||
- [ ] Prevision des cases de destination
|
||||
- [ ] Timeout pour le jeu
|
||||
|
||||
- [ ] IA
|
||||
- [ ] Changer l'unicode en fonction du joueur
|
||||
|
||||
FAIT
|
||||
====
|
||||
- [x] Caracteres unicode pour les pieces
|
||||
- [x] Methode pour texte multicolore
|
|
@ -31,6 +31,8 @@
|
|||
Player* getCurrent();
|
||||
Player* getEnemy();
|
||||
|
||||
// IA : Intelligence Modulaire
|
||||
|
||||
// ATTRIBUTS
|
||||
char _turn;
|
||||
Player *_p1;
|
||||
|
|
|
@ -5,6 +5,7 @@ Cavalier::Cavalier(int x, int y) : Piece(CAVALIER, x, y) {
|
|||
}
|
||||
|
||||
// ABSTRACT
|
||||
char Cavalier::getchar(){
|
||||
return 'C';
|
||||
string Cavalier::getchar(){
|
||||
return "\u265E";
|
||||
return "\u2658";
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
Cavalier(int x, int y);
|
||||
|
||||
// ABSTRACT
|
||||
char getchar();
|
||||
string getchar();
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ Fou::Fou(int x, int y) : Piece(FOU, x, y) {
|
|||
}
|
||||
|
||||
// ABSTRACT
|
||||
char Fou::getchar(){
|
||||
return 'F';
|
||||
string Fou::getchar(){
|
||||
return "\u265D";
|
||||
return "\u2657";
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
Fou(int x, int y);
|
||||
|
||||
// ABSTRACT
|
||||
char getchar();
|
||||
string getchar();
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -27,4 +27,4 @@ ostream& operator<<(ostream& o, const Piece& p){
|
|||
}
|
||||
|
||||
// ABTRACT
|
||||
char Piece::getchar(){ return '?'; }
|
||||
string Piece::getchar(){ return "?"; }
|
|
@ -59,7 +59,7 @@
|
|||
friend ostream& operator<<(ostream& o, const Piece& p);
|
||||
|
||||
// ABSTRACT
|
||||
virtual char getchar();
|
||||
virtual string getchar();
|
||||
|
||||
|
||||
protected:
|
||||
|
|
|
@ -5,6 +5,7 @@ Pion::Pion(int x, int y) : Piece(PION, x, y) {
|
|||
}
|
||||
|
||||
// ABSTRACT
|
||||
char Pion::getchar(){
|
||||
return 'P';
|
||||
string Pion::getchar(){
|
||||
return "\u265F";
|
||||
return "\u2659";
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
Pion(int x, int y);
|
||||
|
||||
// ABSTRACT
|
||||
char getchar();
|
||||
string getchar();
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ Reine::Reine(int x, int y) : Piece(REINE, x, y) {
|
|||
}
|
||||
|
||||
// ABSTRACT
|
||||
char Reine::getchar(){
|
||||
return 'Q';
|
||||
string Reine::getchar(){
|
||||
return "\u265B";
|
||||
return "\u2655";
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
Reine(int x, int y);
|
||||
|
||||
// ABSTRACT
|
||||
char getchar();
|
||||
string getchar();
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ Roi::Roi(int x, int y) : Piece(ROI, x, y) {
|
|||
}
|
||||
|
||||
// ABSTRACT
|
||||
char Roi::getchar(){
|
||||
return 'K';
|
||||
string Roi::getchar(){
|
||||
return "\u265A";
|
||||
return "\u2654";
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
Roi(int x, int y);
|
||||
|
||||
// ABSTRACT
|
||||
char getchar();
|
||||
string getchar();
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ Tour::Tour(int x, int y) : Piece(TOUR, x, y) {
|
|||
}
|
||||
|
||||
// ABSTRACT
|
||||
char Tour::getchar(){
|
||||
return 'T';
|
||||
string Tour::getchar(){
|
||||
return "\u265C";
|
||||
return "\u2656";
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
Tour(int x, int y);
|
||||
|
||||
// ABSTRACT
|
||||
char getchar();
|
||||
string getchar();
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
/* [1] Operations terminal
|
||||
=========================================================*/
|
||||
void clear(){ // efface l'ecran
|
||||
void clear_screen(){ // efface l'ecran
|
||||
cout << "\033[H\033[2J";
|
||||
}
|
||||
|
||||
|
@ -23,3 +23,29 @@ void err(string msg){
|
|||
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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -6,6 +6,7 @@
|
|||
=========================================================*/
|
||||
/* (1) internes */
|
||||
#include <iostream>
|
||||
#include <ctime>
|
||||
|
||||
/* (2) Namespace */
|
||||
using namespace std;
|
||||
|
@ -25,6 +26,8 @@
|
|||
SKYBLUE = 36
|
||||
};
|
||||
|
||||
int TERM_COLOR_VALUES[] = {0, 30, 31, 32, 33, 34, 35, 36};
|
||||
|
||||
enum TERM_STYLE{
|
||||
NORMAL = 0,
|
||||
BOLD = 1,
|
||||
|
@ -35,11 +38,15 @@
|
|||
BACKGROUND = 7
|
||||
};
|
||||
|
||||
int TERM_STYLE_VALUES[] = {0, 1, 3, 4, 9, 7};
|
||||
|
||||
/* [3] Methodes
|
||||
=========================================================*/
|
||||
void clear();
|
||||
void clear_screen();
|
||||
void setfont(const TERM_COLOR c=DEFAULT, const TERM_STYLE s=NORMAL);
|
||||
void err(string msg);
|
||||
void init_term();
|
||||
void multicolor(string str, const TERM_STYLE s=NORMAL);
|
||||
|
||||
/* [n] Inclusion du corps
|
||||
=========================================================*/
|
||||
|
|
|
@ -3,8 +3,15 @@
|
|||
/* [0] Point d'amorcage
|
||||
=========================================================*/
|
||||
int main(){
|
||||
|
||||
// On cree un Jeu
|
||||
ChessContext ctx;
|
||||
|
||||
// Message d'accueil
|
||||
clear_screen();
|
||||
cout << "Bievenue sur " << endl;
|
||||
sleep(1);
|
||||
|
||||
// On initialise la partie
|
||||
ctx.init();
|
||||
|
||||
|
@ -16,7 +23,9 @@ int main(){
|
|||
|
||||
}while( ctx._turn != 'x' );
|
||||
|
||||
// On reset les modifications de police
|
||||
setfont();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -26,7 +35,7 @@ int main(){
|
|||
void display_board(ChessContext& ctx){
|
||||
/* [1] On efface l'ecran
|
||||
=========================================================*/
|
||||
clear();
|
||||
clear_screen();
|
||||
|
||||
/* [2] On affiche la banniere
|
||||
=========================================================*/
|
||||
|
@ -35,14 +44,8 @@ void display_board(ChessContext& ctx){
|
|||
cout << " + +" << endl;
|
||||
cout << " + Chess ";
|
||||
|
||||
setfont(DARKBLUE, BOLD); cout << "C";
|
||||
setfont(SKYBLUE, BOLD); cout << "o";
|
||||
setfont(GREEN, BOLD); cout << "l";
|
||||
setfont(YELLOW, BOLD); cout << "o";
|
||||
setfont(BLUE, BOLD); cout << "r";
|
||||
setfont(PURPLE, BOLD); cout << "f";
|
||||
setfont(SKYBLUE, BOLD); cout << "u";
|
||||
setfont(GREEN, BOLD); cout << "l";
|
||||
|
||||
multicolor("Colorful", BOLD);
|
||||
setfont(RED, BOLD);
|
||||
|
||||
cout << " Console Game +" << endl;
|
||||
|
|
|
@ -21,7 +21,12 @@
|
|||
|
||||
/* [2] Enumerations et structures
|
||||
=========================================================*/
|
||||
|
||||
enum KEYBOARD{
|
||||
HAUT = 72,
|
||||
BAS = 80,
|
||||
GAUCHE = 75,
|
||||
DROITE = 77
|
||||
};
|
||||
|
||||
/* [3] Methodes
|
||||
=========================================================*/
|
||||
|
|
BIN
Chess/main.o
BIN
Chess/main.o
Binary file not shown.
Loading…
Reference in New Issue