1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
class Piece
{
public :
// variables de classe
float posX, posY; // position de la piece
bool selected; // la piece est elle selectionnee
bool pieceBlanche; // quelle est la couleur de la piece
bool Dame;
// constructeur
Piece(float x, float y, bool blanche) ......
// Fonction d'affichage
void display()
{
// nettoyage de l'�cran et du tampon de profondeur
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
// Reinitialisation de la matrice de transformation
glLoadIdentity();
// code de dessin de la partie
glTranslatef(t_x,t_y,0);
P->afficherPlateau();
// le placement des objets se fait dans la matrice de mod�lisation-vue
glMatrixMode(GL_MODELVIEW);glutPostRedisplay();
// le buffer dans lequel on vient de dessiner est envoy� � l'�cran.
glutSwapBuffers() ;
}
// Fonction de controle du clavier
void key(unsigned char key,int x,int y)
{
std::list<Piece *>::iterator iter;
if(P->joueur_A_joue)
iter = P->A->Pieces.begin();
else iter = P->B->Pieces.begin();
switch(key)
{
// Arret du prog. si on appuie sur 'Q' ou 'q'
case 27:
case 'Q':
case 'q': exit(0);
case 'x': t_x=t_x-0.1;
break;
case 'X': t_x+=0.1;
break;
case 'y': t_y=t_y-0.1;
break;
case 'Y': t_y+=0.1;
break;
case 's' : {
(*iter)->selectionner();//iter++
} //ARRIVE PAS A CHANGER LA COULEUR
break;
}
glutPostRedisplay();
} |
Partager