示例#1
0
/**
 * \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
}
示例#2
0
// 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()));
}
示例#3
0
文件: File.cpp 项目: vimdude/File
File< Objet > & File< Objet >::operator >> ( Objet &recupere ) throw ( FileVide ) 
/*------------------------------------------------------------------------- */
{
	return sortir ( recupere ) ;
}