/** * \brief Fait avancer le personnage * * La fonction fait appelle à différentes sous-fonctions qui testent si le personnage monte, descend, est bloqué, ... * \param pposperso La position du personnage sur le terrain * \param terrain Le terrain sur lequel évolue le personnage * \param selecNiveau La position relative actuelle de l'écran de visualisation par rapport au niveau * \return un \e int qui correspond à l'état du déplacement (le personnage est bloqué, chutte, avance librement) */ int avancer ( SDL_Rect* pposperso, SDL_Surface* terrain, SDL_Rect selecNiveau) { //La fontion teste les différents cas de déplacement possibles if (sortir(pposperso, terrain, selecNiveau)) return 0; // game over if(finir(pposperso) == -1) return -1; // Victoire if (solsouspieds(pposperso, terrain) == -1) return 0; // game over if (solsouspieds(pposperso, terrain) == 0) { tomber(pposperso, terrain); return 2; // tomber } if (monter(pposperso, terrain) == 1) { tomber(pposperso, terrain); tomber(pposperso, terrain); } else { if ( plater(pposperso, terrain) == 1 ) { tomber(pposperso, terrain); } else { descendre(pposperso, terrain); } if (monter(pposperso, terrain) == -1) return 0; // game over } return 1; // avancer }
// Constructeur par dŽfaut VotreCompte::VotreCompte(QString username) : username_(username){ lireSolde(); labelCompteFonds = new QLabel("Solde courant dans le compte:"); spinCompteSoldeCourant = new QSpinBox(); spinCompteSoldeCourant->setSuffix("$"); spinCompteSoldeCourant->setRange(0,1000000000); spinCompteSoldeCourant->setMaximum(1000000000); spinCompteSoldeCourant->setValue(fonds_); hboxCompteSolde = new QHBoxLayout; hboxCompteSolde->addWidget(labelCompteFonds); hboxCompteSolde->addWidget(spinCompteSoldeCourant); btnCompteAjout = new QPushButton("Ajouter des fonds") btnCompteRetirer = new QPushButton("Retirer des fonds"); hboxCompteBtn = new QHBoxLayout; hboxCompteBtn->addWidget(btnCompteAjout); hboxCompteBtn->addWidget(btnCompteRetirer); vboxCompteSolde = new QVBoxLayout; vboxCompteSolde->addLayout(hboxCompteSolde); vboxCompteSolde->addLayout(hboxCompteBtn); btnCompteSortir = new QPushButton("Sortir"); vboxCompteBtn = new QVBoxLayout; vboxCompteBtn->addWidget(btnCompteSortir); grbCompte = new QGroupBox("Transaction"); grbCompte->setLayout(vboxCompteSolde); grbCompteBtn = new QGroupBox("Confirmation"); grbCompteBtn->setLayout(vboxCompteBtn); layoutPrincipal = new QVBoxLayout; layoutPrincipal->addWidget(grbCompte); layoutPrincipal->addWidget(grbCompteBtn); setWindowTitle("Votre compte"); this->setLayout(layoutPrincipal); connect(btnCompteSortir, SIGNAL(clicked()), this, SLOT(sortir())); connect(btnCompteAjout, SIGNAL(clicked()), this, SLOT(ajouterFonds())); connect(btnCompteRetirer, SIGNAL(clicked()), this, SLOT(retirerFonds())); }
File< Objet > & File< Objet >::operator >> ( Objet &recupere ) throw ( FileVide ) /*------------------------------------------------------------------------- */ { return sortir ( recupere ) ; }