2020-05-04 17:19:21 +02:00
|
|
|
#include <iostream>
|
|
|
|
#include <vector>
|
2020-04-25 18:09:05 +02:00
|
|
|
#include "Joueur.h"
|
2020-05-04 17:19:21 +02:00
|
|
|
#include "Carte.h"
|
|
|
|
#include "../include/PiocheDeCartes.h"
|
|
|
|
#include "../include/PiocheDeTortues.h"
|
|
|
|
#include "constantes.h"
|
2020-04-25 18:09:05 +02:00
|
|
|
Joueur::Joueur()
|
|
|
|
{
|
|
|
|
|
|
|
|
std::cout << "Quel est ton nom ?"<<std::endl;
|
|
|
|
std::cin >> this->nom;
|
2020-05-04 17:19:21 +02:00
|
|
|
std::cout << "Quel age as-tu ?" << std::endl;
|
|
|
|
std::cin >> this->age;
|
|
|
|
std::cout << "Ton nom est : " << this->nom << ", et ton age est "<< this->age << std::endl;
|
|
|
|
this->nb_feuilles_de_salade = 0;
|
2020-04-25 18:09:05 +02:00
|
|
|
}
|
2020-05-04 17:19:21 +02:00
|
|
|
|
|
|
|
void Joueur::renouvelerCarte(PiocheDeCartes* piocheDeCartes, Carte* carteJouee)
|
2020-04-25 18:09:05 +02:00
|
|
|
{
|
2020-05-04 17:19:21 +02:00
|
|
|
Carte* cartePiochee = piocheDeCartes->piocher_carte();
|
|
|
|
for (int i = 0; i < NB_CARTES_MAIN; i++)
|
|
|
|
{
|
|
|
|
if (this->mainJoueur[i] == carteJouee)
|
|
|
|
{
|
|
|
|
this->mainJoueur[i] = cartePiochee;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2020-04-25 18:09:05 +02:00
|
|
|
}
|
|
|
|
int Joueur::getAge()
|
|
|
|
{
|
|
|
|
return this->age;
|
|
|
|
}
|
2020-05-04 17:19:21 +02:00
|
|
|
|
|
|
|
void Joueur::debutDeManche(PiocheDeCartes* piocheDeCartes, PiocheDeTortues* tuiles)
|
|
|
|
{
|
|
|
|
for (int c = 0; c < NB_CARTES_MAIN; c++)
|
|
|
|
{
|
|
|
|
this->mainJoueur[c] = piocheDeCartes->piocher_carte();
|
|
|
|
}
|
|
|
|
this->tortueJoueur = tuiles->piocherTortue();
|
|
|
|
}
|
|
|
|
|
|
|
|
void Joueur::finDeManche()
|
|
|
|
{
|
|
|
|
for (int c = 0; c < NB_CARTES_MAIN; c++)
|
|
|
|
{
|
|
|
|
this->mainJoueur[c]->~Carte();
|
|
|
|
}
|
|
|
|
this->tortueJoueur->~Tortue();
|
|
|
|
}
|
|
|
|
|
|
|
|
Tortue* Joueur::getTortueJoueur()
|
|
|
|
{
|
|
|
|
return this->tortueJoueur;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Joueur::setTortueJoueur(Tortue* uneTortue)
|
|
|
|
{
|
|
|
|
this->tortueJoueur = uneTortue;
|
|
|
|
}
|
|
|
|
|
|
|
|
Carte* Joueur::getIndiceMainJoueur(int i)
|
|
|
|
{
|
|
|
|
return this->mainJoueur[i];
|
|
|
|
}
|
|
|
|
|
2020-04-25 18:09:05 +02:00
|
|
|
std::string Joueur::getNom()
|
|
|
|
{
|
|
|
|
return this->nom;
|
|
|
|
}
|
|
|
|
|
2020-05-04 17:19:21 +02:00
|
|
|
void Joueur::ajoutFeuilleDeSalade()
|
|
|
|
{
|
|
|
|
this->nb_feuilles_de_salade = this->nb_feuilles_de_salade + 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
int Joueur::getNbFeuillesDeSalade()
|
|
|
|
{
|
|
|
|
return this->nb_feuilles_de_salade;
|
|
|
|
}
|
|
|
|
|
|
|
|
Carte* Joueur::choixCarteJouee()
|
|
|
|
{
|
|
|
|
char saisie;
|
|
|
|
do
|
|
|
|
{
|
|
|
|
cout << this->nom << ", ("<< this->age << " ans) " << "appuie sur o puis sur ENTREE.." << endl;
|
|
|
|
cin >> saisie;
|
|
|
|
}
|
|
|
|
while (saisie != 'o');
|
|
|
|
|
|
|
|
cout << "Ta tortue : ";
|
|
|
|
this->tortueJoueur->affichageTortue();
|
|
|
|
cout << endl;
|
|
|
|
cout << "Tes cartes :" << endl;
|
|
|
|
for (int i = 0; i < NB_CARTES_MAIN; i++)
|
|
|
|
{
|
|
|
|
cout << i+1 << " : " ;
|
|
|
|
this->mainJoueur[i]->afficher();
|
|
|
|
}
|
|
|
|
int reponse = 0;
|
|
|
|
do
|
|
|
|
{
|
|
|
|
cout << endl <<"Quelle carte veux-tu jouer (entre 1 et " << NB_CARTES_MAIN << ")" << endl;
|
|
|
|
cin >> reponse;
|
|
|
|
}
|
|
|
|
while (reponse > NB_CARTES_MAIN || reponse <= 0);
|
|
|
|
return this->mainJoueur[reponse - 1];
|
|
|
|
}
|
2020-04-25 18:09:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
Joueur::~Joueur()
|
|
|
|
{
|
|
|
|
//dtor
|
|
|
|
}
|