ajouts d’attribut &co
Co-authored-by: Emma <emmbotti@gmail.com>
This commit is contained in:
parent
5d330a0fbd
commit
0f76d1a947
10 changed files with 131 additions and 18 deletions
23
includes/Butin.hpp
Normal file
23
includes/Butin.hpp
Normal 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
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
23
includes/Safari.hpp
Normal 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
15
src/Butin.cpp
Normal 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;
|
||||||
|
}
|
|
@ -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() {}
|
||||||
|
|
||||||
|
|
|
@ -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
15
src/Safari.cpp
Normal 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;
|
||||||
|
}
|
Reference in a new issue