Merci Laurent, j'ai suivi tes instructions, et c'est vrai que c'est plus cool de récupérer des infos dans des objets que l'on a déjà à disposition ^^
Sinon, pour l'histoire des performances, c'est vraiment étrange, j'ai du oublié un détail, car je n'arrive pas à détecter l'erreur que j'ai commis pour obtenir ceci :
ici, 0-1% du proc (quoi que je fasse) :
void Morpion::Jouer()
{
while (fenetre->isOpen() && compteurCoups!= 0 && !partieTerminee)
{
sf::Event event;
while (fenetre->pollEvent(event))
{
if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Q)
fenetre->close();
if (event.type == sf::Event::MouseButtonPressed)
{
if (ModifierGrille(Contenu::CROIX, event.mouseButton.x/100, event.mouseButton.y/100))
{
compteurCoups--;
partieTerminee = PartieTerminee();
if (compteurCoups > 0 && !partieTerminee)
{
compteurCoups--;
partieTerminee = IA();
}
}
}
}
fenetre->clear();
DessinerContenuGrille();
fenetre->display();
}
}
ici par contre, 50% du proc si je ne bouge pas la souris...dès que je bouge la souris je retombe à 0-1% du proc... je ne comprends pas pourquoi et ne vois pas d'erreurs de ma part (mais il y en a forcément une) :
while (m->GetFenetre()->isOpen() && !choixFait)
{
sf::Event event;
while (m->GetFenetre()->pollEvent(event))
{
if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Q)
m->GetFenetre()->close();
if (event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Button::Left)
{
if ((event.mouseButton.x <= 150) && (event.mouseButton.y > 150))
{
//on veut rejouer
rejouer = true;
choixFait = true;
}
else if ((event.mouseButton.x > 150) && (event.mouseButton.y > 150))
{
//on ne veut pas rejouer
rejouer = false;
choixFait = true;
}
}
m->GetFenetre()->clear();
m->DessinerContenuGrille();
m->GetFenetre()->draw(*sRejouer);
m->GetFenetre()->display();
}
}
y a-t-il une évidence que j'ai raté ?