You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.2 KiB
69 lines
2.2 KiB
#include "dame.hpp"
|
|
#include "brigand.hpp" // pour connaitre les méthodes de cette classe
|
|
#include "cowboy.hpp" // pour connaitre les méthodes de cette classe
|
|
#include "indien.hpp" // pour avoir accer au infos de l'indien
|
|
|
|
#include <iostream>
|
|
|
|
|
|
using namespace std;
|
|
|
|
namespace personnage {
|
|
|
|
Dame::Dame(const string &nom, const string &boisson, const string &couleurRobe)
|
|
: Humain(nom, boisson), couleurRobe{couleurRobe}
|
|
{}
|
|
|
|
Dame::Dame(const string &nom)
|
|
: Humain(nom, "lait"), couleurRobe{"blanche"}
|
|
{}
|
|
|
|
string Dame::getNom() const {
|
|
return "Miss " + Humain::getNom();
|
|
}
|
|
|
|
string Dame::getCouleurRobe() const {
|
|
return couleurRobe;
|
|
}
|
|
|
|
bool Dame::isCaptive() const {
|
|
return captive;
|
|
}
|
|
|
|
void Dame::setCouleurRobe(const string &couleur) {
|
|
this->couleurRobe = couleur;
|
|
parler("Regardez ma nouvelle robe "+ couleurRobe); /////// ne pas oublier cette ligne pour respecter le sujet
|
|
}
|
|
|
|
void Dame::seFaireKidnapper(const Brigand &brigand) {
|
|
if(brigand.getNom() == this->getNom()) {
|
|
this->parler("Mais enfin ! Je ne peux pas me kidnapper toute seule !!!");
|
|
return;
|
|
}
|
|
this->parler("Au secour, je me fait kidnapper par " + brigand.getNom() + ". Aidez moi !!!");
|
|
this->captive = true;
|
|
}
|
|
|
|
bool Dame::seFaireLiberer(const Cowboy &cowboy) {
|
|
if(captive == false) {
|
|
cout << "Ah, Ah, Ah ! Mais pour qui vous prenez vous ?! Je suis une femme libre enfin !" << endl;
|
|
return false;
|
|
}
|
|
else {
|
|
cout << "Merci " << cowboy.getNom() << ", mon valeureux cowboy, je t'en suis reconnaissante !" << endl;
|
|
captive = false; ////// ne pas oublier cette ligne
|
|
return true; ////// ni celle-ci
|
|
}
|
|
}
|
|
|
|
void Dame::seFaireScalper(const Indien &indien) {
|
|
this->parler("Oh non " + indien.getNom() + ", vous avez tâché ma belle robe " + this->getCouleurRobe() + " ... Je me meurs !!");
|
|
}
|
|
|
|
void Dame::sePresenter() const {
|
|
Humain::sePresenter();
|
|
this->parler( "Et j'ai une robe de couleur " + this->couleurRobe + " qui est magnifique, en plus de me mettre en valeur !");
|
|
}
|
|
|
|
}
|