Tortues_CPP/src/Joueur.cpp

118 lines
2.5 KiB
C++

#include <iostream>
#include <vector>
#include "Joueur.h"
#include "Carte.h"
#include "../include/PiocheDeCartes.h"
#include "../include/PiocheDeTortues.h"
#include "constantes.h"
Joueur::Joueur()
{
std::cout << "Quel est ton nom ?"<<std::endl;
std::cin >> this->nom;
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;
}
void Joueur::renouvelerCarte(PiocheDeCartes* piocheDeCartes, Carte* carteJouee)
{
Carte* cartePiochee = piocheDeCartes->piocher_carte();
for (int i = 0; i < NB_CARTES_MAIN; i++)
{
if (this->mainJoueur[i] == carteJouee)
{
this->mainJoueur[i] = cartePiochee;
break;
}
}
}
int Joueur::getAge()
{
return this->age;
}
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];
}
std::string Joueur::getNom()
{
return this->nom;
}
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];
}
Joueur::~Joueur()
{
//dtor
}