implement missing declaration (operator<<)
This commit is contained in:
parent
f5bfcc409d
commit
adf9f747ed
9 changed files with 62 additions and 9 deletions
|
@ -21,8 +21,8 @@ public:
|
||||||
// comment initialiser la fonction autrement
|
// comment initialiser la fonction autrement
|
||||||
virtual void initialiserPlateau() = 0;
|
virtual void initialiserPlateau() = 0;
|
||||||
|
|
||||||
// Fonction pour afficher le plateau (selon le jeu)
|
// Fonction pour afficher le plateau (selon le jeu) vers une sortie
|
||||||
void afficherPlateau(const bool debug = false) const;
|
void afficherPlateau(std::ostream &, const bool debug = false) const;
|
||||||
|
|
||||||
// Fonction pour modifier le plateau
|
// Fonction pour modifier le plateau
|
||||||
void modifierPlateau(const int x, const int y, Piece *piece) const;
|
void modifierPlateau(const int x, const int y, Piece *piece) const;
|
||||||
|
|
|
@ -21,4 +21,10 @@ const Butin &Butin::operator=(const Butin &src) {
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::ostream &operator<<(std::ostream &out, const Butin &data) {
|
||||||
|
out << "j1: " << data.joueur1 << "\nj2: " << data.joueur2 << "\nPlateau:\n"
|
||||||
|
<< data.plateau;
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
void Butin::init() { plateau.initialiserPlateau(); }
|
void Butin::init() { plateau.initialiserPlateau(); }
|
||||||
|
|
|
@ -33,6 +33,12 @@ const Dames &Dames::operator=(const Dames &src) {
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::ostream &operator<<(std::ostream &out, const Dames &data) {
|
||||||
|
out << "j1: " << data.joueur1 << "\nj2: " << data.joueur2 << "\nPlateau:\n"
|
||||||
|
<< data.plateau;
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
void Dames::init() { plateau.initialiserPlateau(); }
|
void Dames::init() { plateau.initialiserPlateau(); }
|
||||||
|
|
||||||
// TODO: A continuer
|
// TODO: A continuer
|
||||||
|
|
|
@ -13,3 +13,19 @@ const Joueur &Joueur::operator=(const Joueur &src) {
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::ostream &operator<<(std::ostream &out, const Joueur &data) {
|
||||||
|
out << "nom: " << data.nom << "\npieces: ";
|
||||||
|
|
||||||
|
if (data.pieces.empty()) {
|
||||||
|
out << "[]";
|
||||||
|
} else {
|
||||||
|
out << "[\n";
|
||||||
|
for (Piece *p : data.pieces) {
|
||||||
|
out << " " << *p << ",\n";
|
||||||
|
}
|
||||||
|
out << ']';
|
||||||
|
}
|
||||||
|
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
|
@ -13,3 +13,9 @@ const Mouvement &Mouvement::operator=(const Mouvement &src) {
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::ostream &operator<<(std::ostream &out, const Mouvement &data) {
|
||||||
|
out << "source: (" << data.sourceX << ", " << data.sourceY
|
||||||
|
<< "), destination: (" << data.destX << ", " << data.destY << ")";
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
|
@ -13,3 +13,8 @@ const Piece &Piece::operator=(const Piece &src) {
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::ostream &operator<<(std::ostream &out, const Piece &data) {
|
||||||
|
out << '"' << data.categorie << '"';
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
|
@ -18,7 +18,12 @@ Plateau::~Plateau() {
|
||||||
delete[] plateau;
|
delete[] plateau;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Plateau::afficherPlateau(const bool d) const {
|
std::ostream &operator<<(std::ostream &out, const Plateau &data) {
|
||||||
|
data.afficherPlateau(out, false);
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Plateau::afficherPlateau(std::ostream &out, const bool d) const {
|
||||||
const float tailleCellule =
|
const float tailleCellule =
|
||||||
static_cast<float>(Ecran::window.getSize().x) / taille;
|
static_cast<float>(Ecran::window.getSize().x) / taille;
|
||||||
|
|
||||||
|
@ -37,19 +42,19 @@ void Plateau::afficherPlateau(const bool d) const {
|
||||||
// Position de la cellule
|
// Position de la cellule
|
||||||
cell.setPosition(x, y);
|
cell.setPosition(x, y);
|
||||||
if (d) {
|
if (d) {
|
||||||
std::cout << "(" << x << ", " << y;
|
out << "(" << x << ", " << y;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Alternation des couleurs
|
// Alternation des couleurs
|
||||||
if ((i + j) % 2 == 0) {
|
if ((i + j) % 2 == 0) {
|
||||||
cell.setFillColor(sf::Color::White);
|
cell.setFillColor(sf::Color::White);
|
||||||
if (d) {
|
if (d) {
|
||||||
std::cout << ", B), ";
|
out << ", B), ";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
cell.setFillColor(sf::Color::Black);
|
cell.setFillColor(sf::Color::Black);
|
||||||
if (d) {
|
if (d) {
|
||||||
std::cout << ", N), ";
|
out << ", N), ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,11 +62,11 @@ void Plateau::afficherPlateau(const bool d) const {
|
||||||
Ecran::window.draw(cell);
|
Ecran::window.draw(cell);
|
||||||
}
|
}
|
||||||
if (d) {
|
if (d) {
|
||||||
std::cout << "\n";
|
out << "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (d) {
|
if (d) {
|
||||||
std::cout << "---\n";
|
out << "---\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,13 @@ const Safari &Safari::operator=(const Safari &src) {
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::ostream &operator<<(std::ostream &out, const Safari &data) {
|
||||||
|
out << "j1: " << data.joueur1 << "\nj2: " << data.joueur2
|
||||||
|
<< "\nj3: " << data.joueur3 << "\nPlateau:\n"
|
||||||
|
<< data.plateau;
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
void Safari::init() {
|
void Safari::init() {
|
||||||
// On peut donner que 2 joueurs ?
|
// On peut donner que 2 joueurs ?
|
||||||
plateau.initialiserPlateau();
|
plateau.initialiserPlateau();
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
#include "../includes/Dames/PlateauDames.hpp"
|
#include "../includes/Dames/PlateauDames.hpp"
|
||||||
#include "../includes/Ecran.hpp"
|
#include "../includes/Ecran.hpp"
|
||||||
|
|
||||||
|
void draw_debug(PlateauDames &p) { p.afficherPlateau(std::cout, true); }
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
Joueur j1;
|
Joueur j1;
|
||||||
Joueur j2;
|
Joueur j2;
|
||||||
PlateauDames p(j1, j2);
|
PlateauDames p(j1, j2);
|
||||||
Ecran e;
|
Ecran e;
|
||||||
// e.afficher(std::bind(&Plateau::afficherPlateau, &p, true));
|
// e.afficher(std::bind(&draw_debug, p));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue