ajouts d’attribut &co

Co-authored-by: Emma <emmbotti@gmail.com>
This commit is contained in:
Mylloon 2023-11-21 12:33:04 +01:00
parent 5d330a0fbd
commit 0f76d1a947
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
10 changed files with 131 additions and 18 deletions

23
includes/Butin.hpp Normal file
View file

@ -0,0 +1,23 @@
#ifndef BUTIN
#define BUTIN
#include <iostream>
class Butin {
friend std::ostream &operator<<(std::ostream &, const Butin &);
// Plateau de jeu
// Joueurs
public:
Butin(); // constructor
virtual ~Butin(); // destructor
Butin(const Butin &); // copy constructor
const Butin &operator=(const Butin &); // copy assignement
};
// Fonction d'initialisation du jeu
#endif

View file

@ -1,13 +1,20 @@
#ifndef JOUEUR #ifndef JOUEUR
#define JOUEUR #define JOUEUR
#include "../includes/Piece.hpp"
#include <iostream> #include <iostream>
#include <vector>
class Joueur { class Joueur {
friend std::ostream &operator<<(std::ostream &, const Joueur &); friend std::ostream &operator<<(std::ostream &, const Joueur &);
// Couleur des pièces du joueur (pour les dames) // Nom du joueur
std::string couleur; std::string nom;
// Pièces du joueur
// Pour le butin, tout simplement les pièces que le joueur gagne.
// Pour les autres jeux, peut être uniquement les pieces sur le plateau.
std::vector<Piece *> pieces;
public: public:
Joueur(); // constructor Joueur(); // constructor
@ -15,6 +22,11 @@ public:
Joueur(const Joueur &); // copy constructor Joueur(const Joueur &); // copy constructor
const Joueur &operator=(const Joueur &); // copy assignement const Joueur &operator=(const Joueur &); // copy assignement
// Ajoute une pièce à la liste de pièces du joueur
void ajoutPiece(Piece *piece) { pieces.push_back(piece); }
// Fonction qui supprime une pièce de la liste de pièces du joueur
}; };
#endif #endif

View file

@ -6,8 +6,11 @@
class Mouvement { class Mouvement {
friend std::ostream &operator<<(std::ostream &, const Mouvement &); friend std::ostream &operator<<(std::ostream &, const Mouvement &);
// (jeu des dames) Coordonnées du déplacement, source et destination. (Selon // Coordonnées du déplacement, source
// la modélisation du plateau ?) int sourceX, sourceY;
// Coordonnées du déplacement, destination
int destX, destY;
public: public:
Mouvement(); // constructor Mouvement(); // constructor

View file

@ -6,18 +6,29 @@
class Piece { class Piece {
friend std::ostream &operator<<(std::ostream &, const Piece &); friend std::ostream &operator<<(std::ostream &, const Piece &);
// Couleur de la pièce (peut-être à formaliser, juste blanc ou noir pour les // Couleur de la pièce ou type d'animal pour Safari par ex
// dames) std::string categorie;
std::string couleur;
// Type de la pièce (pion ou dame pour les dames)
std::string type;
public: public:
Piece(); // constructor Piece(std::string categorie); // constructor
virtual ~Piece(); // destructor virtual ~Piece(); // destructor
Piece(const Piece &); // copy constructor Piece(const Piece &); // copy constructor
const Piece &operator=(const Piece &); // copy assignement const Piece &operator=(const Piece &); // copy assignement
}; };
class PieceDames : public Piece {
public:
PieceDames(std::string categorie);
virtual ~PieceDames();
};
class PieceButin : public Piece {
int points;
public:
PieceButin(std::string categorie);
virtual ~PieceButin();
};
#endif #endif

View file

@ -1,18 +1,21 @@
#ifndef PLATEAU #ifndef PLATEAU
#define PLATEAU #define PLATEAU
#include "../includes/Piece.hpp"
#include <iostream> #include <iostream>
class Plateau { class Plateau {
friend std::ostream &operator<<(std::ostream &, const Plateau &); friend std::ostream &operator<<(std::ostream &, const Plateau &);
// Il faudrait sûrement un tableau pour initialiser le plateau, mais je suis // Taille du plateau
// pas sûr du type de l'attribut. J'avais pensé à un tableau de Piece (avec la int taille;
// case à null si aucune piece dessus), je sais pas si c'est une bonne idée.
// Tableau représentant le plateau de jeu
Piece ***plateau;
public: public:
Plateau(); // constructor Plateau(int taille); // constructor
virtual ~Plateau(); // destructor virtual ~Plateau(); // destructor
Plateau(const Plateau &); // copy constructor Plateau(const Plateau &); // copy constructor
const Plateau &operator=(const Plateau &); // copy assignement const Plateau &operator=(const Plateau &); // copy assignement

23
includes/Safari.hpp Normal file
View file

@ -0,0 +1,23 @@
#ifndef SAFARI
#define SAFARI
#include <iostream>
class Safari {
friend std::ostream &operator<<(std::ostream &, const Safari &);
// Plateau de jeu
// Joueurs
public:
Safari(); // constructor
virtual ~Safari(); // destructor
Safari(const Safari &); // copy constructor
const Safari &operator=(const Safari &); // copy assignement
};
// Fonction d'initialisation du jeu
#endif

15
src/Butin.cpp Normal file
View file

@ -0,0 +1,15 @@
#include "../includes/Butin.hpp"
Butin::Butin() { std::cout << "butin\n"; }
Butin::~Butin() {}
Butin::Butin(const Butin &) {}
const Butin &Butin::operator=(const Butin &src) {
if (this == &src) {
return *this;
}
return *this;
}

View file

@ -1,6 +1,6 @@
#include "../includes/Piece.hpp" #include "../includes/Piece.hpp"
Piece::Piece() { std::cout << "pièce\n"; } Piece::Piece(std::string categorie) { std::cout << "pièce\n"; }
Piece::~Piece() {} Piece::~Piece() {}

View file

@ -1,6 +1,14 @@
#include "../includes/Plateau.hpp" #include "../includes/Plateau.hpp"
Plateau::Plateau() { std::cout << "plateau\n"; } Plateau::Plateau(int taille) {
plateau = new Piece **[taille];
for (int i = 0; i < taille; i++) {
plateau[i] = new Piece *[taille];
for (int j = 0; j < taille; j++) {
plateau[i][j] = nullptr;
}
}
}
Plateau::~Plateau() {} Plateau::~Plateau() {}

15
src/Safari.cpp Normal file
View file

@ -0,0 +1,15 @@
#include "../includes/Safari.hpp"
Safari::Safari() { std::cout << "safari\n"; }
Safari::~Safari() {}
Safari::Safari(const Safari &) {}
const Safari &Safari::operator=(const Safari &src) {
if (this == &src) {
return *this;
}
return *this;
}