là c'est pour la message box void rejouer(char* nom_box, char* phrase) { int clic=MessageBox(NULL, phrase, nom_box, MB_YESNO | MB_ICONQUESTION); if(clic==IDYES) { etat=0; g.InitJeu(); choix=3; glutPostRedisplay(); } else exit(0); }
et là c'est la fonction où je l'appelle void affichage() { /* effacement de l'image avec la couleur de fond */ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glOrtho(-1.0,8.0,-1.0,8.0, -10.0, 10.0); menu_clic_droit(); if(etat==0) //choix du type de partie { menu1(); } else if(etat==1) //début partie joueur contre joueur { g.AfficherJeu(); g.AfficherChoix(); } else if(etat==2) //le plateau est plein et personne n'a gagné { glColor3f(0.0,0.0,0.0); //noir bitmap_output(2.0, 6.5, "Aucun gagnant !"); g.AfficherJeu(); } else if(etat==3) //un joueur a gagné { g.AfficherJeu(); if(g.Joueur==1) { glColor3f(1.0,0.0,0.0); bitmap_output(2.0, 6.5, "Le joueur 1 a gagne !"); glutSwapBuffers(); rejouer("Gagné!", "Le joueur 1 a gagné! \nVoulez-vous rejouer?"); } else { glColor3f(1.0,0.8,0.0); bitmap_output(2.0, 6.5, "Le joueur 2 a gagne !"); glutSwapBuffers(); rejouer("Gagné!", "Le joueur 2 a gagné! \nVoulez-vous rejouer?"); } // g.AfficherJeu(); } else if(etat==4) //choix de rejouer ou non { glColor3f(0.0,0.0,0.0); bitmap_output(1.5, 3.5, "Voulez-vous rejouer? (o/n)"); } else if(etat==5) //début partie joueur contre machine { g.AfficherJeu(); g.AfficherChoix(); } else if(etat==6) //début partie machine contre machine { g.AfficherJeu(); Sleep(700); //on commence la boucle g.SetPosition(ET.MeilleurBis(g,g.Joueur)); if(g.EstVide(g.GetPosition())==true) { g.PlacerJeton(g.GetPosition(),g.Joueur);
//vérifications : if(g.Gagner(g.Joueur)==false) if(g.VerifEstPlein()==false) { if(g.Joueur==2) g.Joueur=1; else g.Joueur=2; } else { cout<<"Le plateau de jeu est plein et personne n'a gagné! ! !"<<endl; etat=2; } else { cout<<"Le joueur "<<g.Joueur<<" a gagné! ! !"<<endl; etat=3; } }//if true glutPostRedisplay(); }//else etat6
//on force l'affichage glFlush(); // On echange les buffers glutSwapBuffers(); }
en couleur tu as les changements mais est-ce que ça serait pas parce que comme un imbécile j'ai laissé un glutSwapBuffers(); à la fin ?! merci
|