ajout du tp5 de cpp

master
Antoine PEREDERII 2 years ago
parent eb346b20b1
commit cfb9861bed

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,4 +1,7 @@
#include "indien.hpp" #include "indien.hpp"
#include "dame.hpp"
#include "brigand.hpp"
#include "cowboy.hpp"
using namespace std; using namespace std;
@ -21,4 +24,19 @@ namespace personnage {
this->parler("Moi vénérer totem " + this->totem + ". Moi guerrier. Moi avoir " + to_string(this->nbPlumes) + " plumes."); this->parler("Moi vénérer totem " + this->totem + ". Moi guerrier. Moi avoir " + to_string(this->nbPlumes) + " plumes.");
} }
void Indien::scalper(Dame &dame) {
dame.seFaireScalper(*this);
nbPlumes += 1;
}
void Indien::scalper(Brigand &brigand) {
brigand.seFaireScalper(*this);
nbPlumes += 1;
}
void Indien::scalper(Cowboy &cowboy) {
cowboy.seFaireScalper(*this);
nbPlumes+= 1;
}
} }

@ -6,6 +6,12 @@
namespace personnage { namespace personnage {
class Dame;
class Brigand;
class Cowboy;
class Indien : public Humain { class Indien : public Humain {
int nbPlumes; int nbPlumes;
@ -19,7 +25,9 @@ namespace personnage {
void parler(const std::string &texte) const override; void parler(const std::string &texte) const override;
void sePresenter() const override; void sePresenter() const override;
void scalper(Dame &dame);
void scalper(Brigand &brigand);
void scalper(Cowboy &cowboy);
}; };
} }

@ -8,6 +8,7 @@
#include "femmeBrigand.hpp" #include "femmeBrigand.hpp"
#include "indien.hpp" #include "indien.hpp"
#include <vector>
using namespace std; using namespace std;
@ -94,9 +95,13 @@ void testFemmeBrigand() {
void testIndien() { void testIndien() {
personnage::Indien ventDoux{"VentDoux"}; personnage::Indien ventDoux{"VentDoux"};
personnage::Indien ventFort{"VentFort", "jus de pieds", 4, "Fouine"}; personnage::Indien ventFort{"VentFort", "jus de pieds", 4, "Fouine"};
personnage::Brigand robert("Robert");
ventDoux.sePresenter(); ventDoux.sePresenter();
ventFort.sePresenter(); ventFort.sePresenter();
ventFort.parler("Oeh ventDoux !"); robert.sePresenter();
ventFort.parler("Oeh ventDoux ! Scalpons robert !");
ventFort.scalper(robert);
ventFort.sePresenter();
} }
void testGeneral1() { void testGeneral1() {
@ -158,7 +163,64 @@ void testGeneral1() {
} }
void testGeneral2() { void testGeneral2() {
// vector<Humain *> vector<personnage::Humain *> vHumain{
new personnage::Dame("Rose"),
new personnage::Dame("Ginette", "ricard", "noir")}
// {personnage::Brigand robert = new robert("Robert")},
// {personnage::Brigand bernard = new bernard("Bernard", "aveze", "ronchon", 200)},
// {personnage::Cowboy george = new george("George")},
// {personnage::Barmen franck = new franck("Franck", "The Franchy Bar")},
// {personnage::Sherif clint = new clint("Clint")}
};
for_each // personnage
for // cherche un sherif dans le vector puis un for qui Sherif emprisonner tt les brigands de vector
cout << "Il était une fois, une jeune et belle dame qui se promenait dans les bois avec une amie.\n";
vector.at(0)->sePresenter();
ginette.sePresenter();
rose.parler("Qu'il fait beau aujourd'hui !!");
cout << "Tout allait bien dans le meilleur des mondes, jusqu'à ce que deux brigands apparurent.\n";
robert.sePresenter();
bernard.sePresenter();
robert.parler("Nous allons vous kidnapper pauvres dames !!");
bernard.kidnapper(rose);
robert.kidnapper(ginette);
cout <<"Les pauvres Rose et Ginette se firent kidnapper par ses deux truans. Mais un vieux cowboy n'est pas loin\n";
george.sePresenter();
george.parler("Que faites vous bande de mal autrus !!!");
george.tirerSur(robert);
george.tirerSur(bernard);
bernard.parler("Tu nous a loupé veillard !!");
george.liberer(ginette);
robert.parler("À bientôt l'ancien !!");
cout <<"Et les deux brigands pure s'en aller paisiblement car la vieux cowboy ne tiré plus tout droit.\n";
cout <<"Surtout avec tout l'alcool qu'il s'était enpiffré. Mais il réussi quand même à liberer une des deux filles.\n";
cout <<"Et notre cowboy retourna au bar pour se remettre de ses émotions.\n";
george.parler("Hey Franck, un verre stp pour moi et cette dame !");
franck.servirVerre(george);
franck.servirVerre(ginette);
franck.parler("Alors ces brigands ?!");
george.parler("Ils se sont enfuit, j'ai plus la forme comme avant ! Mais j'ai réussi à liberer cette dame.");
cout <<"Pendant ce temps là, les brigands s'échappe toujours. Notre cowboy décide donc d'en informer le Shérif.\n";
george.parler("Sherif !! J'ai deux brigands qui m'on échapés.");
clint.parler("Très bien george. Repose toi ! Je prends le relais");
clint.rechercherBrigand(bernard);
clint.rechercherBrigand(robert);
cout <<"Cela s'annonce compliqué pour notre Shérif !!\n";
clint.parler("Où on-t-il bien pu partir ???");
pierre.sePresenter();
pierre.parler("Sherif ! J'ai vu ces deux gangster avec une très jolie femme avec eux !");
clint.parler("Et où ça ?");
pierre.parler("Ils sont près de la gare !!!");
clint.parler("En avant mon fidèle destrier pilepoil !!");
cout <<"Notre Shérif entama donc son périple vers la gare avec son cheval pile-poil.\n";
cout <<"Une fois arrivé, il se cacha et s'approcha discrètement de ses deux brigands avant de les intercepter.\n";
clint.coffrerBrigand(robert);
clint.tirerSur(bernard);
clint.coffrerBrigand(bernard);
clint.liberer(rose);
rose.parler("Mais que vous êtes merveuilleux mon shérif !!");
clint.parler("Pour vous servir Miss rose.");
cout <<"Nos deux personnage partir tout deux heureux.\n";
} }
@ -172,7 +234,7 @@ int main() {
// testSherif(); // testSherif();
// testRipou(); // testRipou();
// testFemmeBrigand(); // testFemmeBrigand();
// testIndien(); testIndien();
// testGeneral1(); // testGeneral1();
return 0; return 0;
} }

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save