本文整理汇总了C++中Personnage类的典型用法代码示例。如果您正苦于以下问题:C++ Personnage类的具体用法?C++ Personnage怎么用?C++ Personnage使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Personnage类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
Magie::eff(Personnage& Cible, Personnage& Lanceur)
{
if(Lanceur.utiliserPa(a_pa) && Lanceur.utiliserMana(a_mana)) {
Cible.recevoirSoins(a_regeneration, a_regeneration);
Cible.recevoirDegatsMagiques(a_degats, a_degats);
}
}
示例2: etat
/*void etat(Personnage const& a)
{
a.afficherEtat();
}
*/
void etat(Personnage const& a, Personnage const& b)
{
cout << "votre Etat :\n";
a.afficherEtat();
cout << "celui de votre adversaire :\n";
b.afficherEtat();
}
示例3: enleverPAMana
bool MagieGenerique::enleverPAMana()
{
if (!stableEtCible())
return false;
else
{
Personnage *moi = parent->moi;
return(moi->utiliserPa(coutPa) && moi->utiliserMana(coutMana));
}
}
示例4: peutEff
bool AttaqueGenerique::peutEff()
{
if (!stableEtCible())
return false;
else
{
Personnage *moi = parent->moi;
return (moi->aPA(coutPa));
}
}
示例5: main
int main()
{
Personnage* guerrier = new Guerrier();
cout << guerrier->toString();
Joueur* Pierre = new Joueur("Pierre", *guerrier,"test.txt");
cout << Pierre->getDeck()->tirerCarte().toString() << endl;
Pierre->getPersonnage().setCP(new ComportementPouvoirGuerrier());
cout << Pierre->getPersonnage().utiliserPouvoir() << endl;
return 0;
}
示例6: eff
bool AttaqueGenerique::eff()
{
if (!stableEtCible())
return false;
else
{
Personnage *moi = parent->moi;
Personnage *adv = parent->moi->cible;
bool a = moi->utiliserPa(coutPa);
if (a)
adv->recevoirDegats(minD, maxD, *moi);
return a;
}
}
示例7: action
int EndRoom::action(Personnage &perso) {
if (m_boss.action(perso) == RC_CLEAN_MONSTER) {
std::cout << "Congratulation " COLOR_PLAYER << perso.getNom() << "\033[31m !! \033[33mYOU \033[32mW\033[34mI\033[36mN \033[35m!!" << std::endl;
return RC_NOTHING;
}
return RC_UNDO;
}
示例8: open
void TreasureArme::open(Personnage &p) {
Random *r = Random::getInstance();
ItemFactory *f = getFactory(r->getRand());
Arme *a;
switch (r->getRand()%3) {
case 1:
a = f->GetEpee();
break;
case 2:
a = f->GetDague();
break;
default:
a = f->GetHache();
}
for (int i = 0; i < m_lvl; ++i) {
switch (r->getRand()%6) {
case 0:
a = new DArmeD(a);
break;
case 1:
a = new DArmeC(a);
break;
case 2:
a = new DArmeF(a);
break;
case 3:
a = new DArmeV(a);
break;
}
}
delete f;
p.trouverArme(a);
}
示例9: setAdvName
string elements::setAdvName(Personnage& adv){
string name = "Elementaire";
switch (adv.getType1())
{
case(1) :
name += " de Feu";
break;
case(2) :
name += " d'Eau";
break;
case(3) :
name += " de Terre";
break;
case(4) :
name += " de Plante";
break;
case(5) :
name += " de Foudre";
break;
default:
break;
}
switch (adv.getType2())
{
case(0) :
break;
case(6) :
name += " Tenebreux";
break;
case(7) :
name += " Lumineux";
break;
default:
break;
}
return name;
}
示例10: utiliserSort
bool Personnage::utiliserSort(Personnage& cible)
{
unsigned int degats = m_sort(&m_mana);
cible.recevoirDegats(degats);
if(degats > 0)
{
return true;
}
else
{
return false;
}
}
示例11: attaquer
bool Personnage::attaquer(Personnage& cible)
{
unsigned int degats = rand()%(m_degats+m_arme->getDegats()-1) + m_arme->getDegats(); //aleatoire entre arme.getDegats() et arme.getDegats()+m_degats
bool coupCritique;
if(rand()%7 == 0)
{
degats += rand()%46 - 10;
coupCritique = true;
}
else
{
coupCritique = false;
}
cible.recevoirDegats(degats);
return coupCritique;
}
示例12: multi
/**
* Méthode principale de l'écran
*
* @Param sf::RenderWindow &fenetre
* @Param Personnage &perso1
* @Param Personnage &perso2
* @Param Affichage &affichage
* @Param Carte &carteJeu
* @Son &son
*
* @Return int
*/
int EcranMenuMulti::run(sf::RenderWindow &fenetre, Personnage &perso1, Personnage &perso2, Affichage &affichage, Carte &carteJeu, Son &son)
{
sf::Event monEvent;
bool running = true;
int i = 0;
int j = 0;
int k = 0;
int l = 0;
//Chargement de l'image de fond du menu multijoueur
if (!ImageMulti.LoadFromFile("tilesets/MenuMulti.png"))
std::cout << "Erreur chargement image du menu multi" << std::endl;
//Chargement du tile pour le choix des personnages
if (!ImagePerso.LoadFromFile("tilesets/Tile_perso.jpg"))
std::cout << "Erreur chargement image du menu multi (tile perso)" << std::endl;
//Chargement du tile pour le choix de la map
if (!ImageMap.LoadFromFile("tilesets/Tile_Map.png"))
std::cout << "Erreur chargement image du menu multi (tile map)" << std::endl;
//Chargement de l'image flèche droite
if (!ImageFlecheDroite.LoadFromFile("tilesets/FlecheDroite.png"))
std::cout << "Erreur chargement image du menu multi (fleche droite) '" << std::endl;
//Chargement de l'image flèche droite
if (!ImageFlecheGauche.LoadFromFile("tilesets/FlecheGauche.png"))
std::cout << "Erreur chargement image du menu multi (fleche gauche)" << std::endl;
//Chargement de l'image pour le nombre de manches gagnantes
if (!ImageNombreManches.LoadFromFile("tilesets/Tile_NombreManches.png"))
std::cout << "Erreur chargement image du menu multi (tile nombre de manches)" << std::endl;
//Chargement des images dans les sprites
SpriteMulti.SetImage(ImageMulti);
SpriteFlecheDroite1.SetImage(ImageFlecheDroite);
SpriteFlecheDroite2.SetImage(ImageFlecheDroite);
SpriteFlecheDroite3.SetImage(ImageFlecheDroite);
SpriteFlecheDroite4.SetImage(ImageFlecheDroite);
//Position des différents sprites
SpriteFlecheDroite1.SetPosition(230, 450);
SpriteFlecheDroite2.SetPosition(230, 620);
SpriteFlecheDroite3.SetPosition(630, 390);
SpriteFlecheDroite4.SetPosition(590, 587);
SpriteFlecheGauche1.SetImage(ImageFlecheGauche);
SpriteFlecheGauche2.SetImage(ImageFlecheGauche);
SpriteFlecheGauche3.SetImage(ImageFlecheGauche);
SpriteFlecheGauche4.SetImage(ImageFlecheGauche);
SpriteFlecheGauche5.SetImage(ImageFlecheGauche);
SpriteFlecheGauche1.SetPosition(50, 450);
SpriteFlecheGauche2.SetPosition(50, 620);
SpriteFlecheGauche3.SetPosition(420, 390);
SpriteFlecheGauche4.SetPosition(5, 695);
SpriteFlecheGauche5.SetPosition(455, 587);
SpritePerso1.SetImage(ImagePerso);
SpritePerso1.SetSubRect(sf::IntRect(0, 0, TAILLEIMAGEPERSO, TAILLEIMAGEPERSO));
SpritePerso2.SetImage(ImagePerso);
SpritePerso2.SetSubRect(sf::IntRect(0, 0, TAILLEIMAGEPERSO, TAILLEIMAGEPERSO));
SpriteMap.SetImage(ImageMap);
SpriteMap.SetSubRect(sf::IntRect(0, 0, TAILLEIMAGEMAP, TAILLEIMAGEMAP));
SpriteNombreManches.SetImage(ImageNombreManches);
SpriteNombreManches.SetSubRect(sf::IntRect(0, 0, TAILLEIMAGEMANCHES, TAILLEIMAGEMANCHES));
SpritePerso1.SetPosition(115, 425);
SpritePerso2.SetPosition(115, 595);
SpriteMap.SetPosition(485, 350);
SpriteNombreManches.SetPosition(520, 585);
while(running)
{
//Tant que la fenêtre contient des évènements
while(fenetre.GetEvent(monEvent))
{
if (monEvent.Type == sf::Event::Closed)
return (ECRAN_QUITTER); // On quitte le jeu
if((monEvent.Type == sf::Event::MouseButtonPressed) && (monEvent.MouseButton.Button == sf::Mouse::Left))
{
//Cas ou on clique sur la fleche précédant
if(monEvent.MouseButton.X > SpriteFlecheGauche4.GetPosition().x && monEvent.MouseButton.X < SpriteFlecheGauche4.GetPosition().x + TAILLEFLECHE)
{
if(monEvent.MouseButton.Y > SpriteFlecheGauche4.GetPosition().y && monEvent.MouseButton.Y < SpriteFlecheGauche4.GetPosition().y + TAILLEFLECHE)
{
//On affiche le Menu Principal
//.........这里部分代码省略.........
示例13: action
int EmptyRoom::action(Personnage &perso) {
perso.modifierVie(3);
return RC_NOTHING;
}
示例14: run
/**
* Méthode principale de l'écran
*
* @Param sf::RenderWindow &fenetre
* @Param Personnage &perso1
* @Param Personnage &perso2
* @Param Affichage &affichage
* @Param Carte &carteJeu
* @Son &son
*
* @Return int
*/
int EcranMancheFinie::run(sf::RenderWindow &fenetre, Personnage &perso1, Personnage &perso2, Affichage &affichage, Carte &carteJeu, Son &son)
{
sf::Event monEvent;
bool running = true;
// On joue le son de victoire
son.playWin();
// Boucle du menu principal
while(running)
{
while(fenetre.GetEvent(monEvent))
{
if (monEvent.Type == sf::Event::Closed)
{
//On stoppe la musique
son.stopMusic();
return (ECRAN_MENU_PRINCIPAL); // On quitte le jeu
}
if ((monEvent.Type == sf::Event::KeyPressed) && (monEvent.Key.Code == sf::Key::Return))
{
// On relance le jeu à nouveau
return (ECRAN_JEU);
}
if ((monEvent.Type == sf::Event::KeyPressed) && (monEvent.Key.Code == sf::Key::Escape))
{
son.stopMusic();
// On relance le jeu à nouveau
return (ECRAN_MENU_PRINCIPAL);
}
}
// On affiche le contenu de l'écran
fenetre.Clear();
affichage.displayFond(fenetre);
affichage.displayMap(fenetre);
// On affiches les sprites de fin de manche
if(perso1.isVivant() && !perso2.isVivant())
{
affichage.displayFinManche(fenetre, "1", 100, 250);
}
else if(perso2.isVivant() && !perso1.isVivant())
{
affichage.displayFinManche(fenetre, "2", 100, 250);
}
else if(!perso1.isVivant() && !perso2.isVivant())
{
affichage.displayFinMancheEgal(fenetre, 100, 250);
}
affichage.displayPersoFini(&perso1, fenetre);
affichage.displayPersoFini(&perso2, fenetre);
// On affiche les scores
affichage.displayScore(fenetre,perso1,90);
affichage.displayScore(fenetre,perso2,400);
// On affiche le contenu de la fenetre
affichage.displayAvatar(fenetre);
fenetre.Display();
}
// Normalement on atteint jamais cet endroit, si jamais ça arrive on quitte le jeu.
return (ECRAN_QUITTER);
}
示例15: eff
void PotionVie::eff(Personnage& Perso)
{
Perso.recevoirSoins(a_regeneration,a_regeneration);
}