Bonjour à tous,

Je début avec Qt et suis bloqué dans mon code, voici la situation:

Mon programme affiche des animaux qui se déplacent, mangent et se reproduisent en fonction de plusieurs règles, et ce tous les mois.

Je souhaiterais donc par exemple afficher mon animal en Janvier à la case [0][0] et en Février à la case [1][0]. J'utilise donc la structure suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
int main(int argc, char ** argv)
{
  QApplication app(argc, argv);
 
  // Création d'un animal : m1 sur la case [0][0] et d'un autre: m2 sur [1][0]
  ...
 
  // On force l'arrêt de l'application au bout de 3 secondes
  QTimer::singleShot(3000, &app, SLOT(quit()));
  app.exec();
 
  // On déplace le Qlabel de m1 sur la case [1][0]
  //Ça marche
  ...
    return app.exec();
}
Mais je voudrais aussi que les animaux puissent se reproduire ainsi lorsque m1 et m2 seront sur la meme case il donneront naissance à m3 sur la même case.
C'est là qu'est mon problème car je pensais pouvoir faire:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
int main(int argc, char ** argv)
{
  QApplication app(argc, argv);
 
  // Création d'un animal : m1 sur la case [0][0] et d'un autre: m2 sur [1][0]
  ...
 
  // On force l'arrêt de l'application au bout de 3 secondes
  QTimer::singleShot(3000, &app, SLOT(quit()));
  app.exec();
 
  // On déplace le Qlabel de m1 sur la case [1][0]
  //Ça marche
  /*m1 et m2 sont sur la même donc on appelle la fonction reproduction()
  qui utilise un new Animal pour créer l'animal et on lui associe un Qlabel*/
  ...
    return app.exec();
}
Mais ça ne marche pas, je devrais voir apparaitre mon animal sur la meme case mais non.. après avoir fait plusieurs test je crois que je problème vient du fait que je créer un nouveau label entre le singleShot et return app.exec(); mais comment palier ce problème?

Merci d'avance à ceux d'entre vous qui m'aideront