positions

This commit is contained in:
Mylloon 2023-12-29 02:09:11 +01:00
parent db5d3c2762
commit 44d368473a
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
10 changed files with 25 additions and 16 deletions

View file

@ -12,7 +12,7 @@ struct PieceButin : public Piece {
Noire = 3, Noire = 3,
}; };
PieceButin(const enum Categorie); PieceButin(const enum Categorie, const int x, const int y);
virtual ~PieceButin(); virtual ~PieceButin();
// Couleur sur l'écran // Couleur sur l'écran

View file

@ -8,7 +8,7 @@ struct PieceDames : public Piece {
Noire, Noire,
}; };
PieceDames(const enum Categorie); PieceDames(const enum Categorie, const int x, const int y);
virtual ~PieceDames(); virtual ~PieceDames();
// Couleur sur l'écran // Couleur sur l'écran

View file

@ -10,7 +10,7 @@ struct PieceSafari : public Piece {
Lion, Lion,
}; };
PieceSafari(const enum Categorie); PieceSafari(const enum Categorie, const int x, const int y);
virtual ~PieceSafari(); virtual ~PieceSafari();
// Couleur sur l'écran // Couleur sur l'écran

View file

@ -1,7 +1,7 @@
#include "../../includes/Butin/PieceButin.hpp" #include "../../includes/Butin/PieceButin.hpp"
PieceButin::PieceButin(const enum Categorie cat) PieceButin::PieceButin(const enum Categorie cat, const int posX, const int posY)
: Piece(to_string(cat)), points(cat) { : Piece(to_string(cat), posX, posY), points(cat) {
std::cout << "pièce - " << cat << "\n"; std::cout << "pièce - " << cat << "\n";
this->points = cat; this->points = cat;
} }

View file

@ -19,13 +19,13 @@ void PlateauButin::initialiserPlateau() {
// Vecteur de toutes les pièeces du jeu // Vecteur de toutes les pièeces du jeu
std::vector<PieceButin *> pieces; std::vector<PieceButin *> pieces;
for (int i = 0; i < 34; i++) { for (int i = 0; i < 34; i++) {
pieces.push_back(new PieceButin(PieceButin::Jaune)); pieces.push_back(new PieceButin(PieceButin::Jaune, -1, -1));
} }
for (int i = 0; i < 20; i++) { for (int i = 0; i < 20; i++) {
pieces.push_back(new PieceButin(PieceButin::Rouge)); pieces.push_back(new PieceButin(PieceButin::Rouge, -1, -1));
} }
for (int i = 0; i < 10; i++) { for (int i = 0; i < 10; i++) {
pieces.push_back(new PieceButin(PieceButin::Noire)); pieces.push_back(new PieceButin(PieceButin::Noire, -1, -1));
} }
// Mélange le vecteur de pièces (j'ai jamais utilisé ça pour randomiser faudra // Mélange le vecteur de pièces (j'ai jamais utilisé ça pour randomiser faudra
@ -39,6 +39,9 @@ void PlateauButin::initialiserPlateau() {
for (int i = 0; i < taille; i++) { for (int i = 0; i < taille; i++) {
for (int j = 0; j < taille; j++) { for (int j = 0; j < taille; j++) {
plateau[i][j] = pieces[static_cast<uint>(index++)]; plateau[i][j] = pieces[static_cast<uint>(index++)];
// Met à jour la position
plateau[i][j]->moveTo(i, j);
} }
} }
} }

View file

@ -1,7 +1,7 @@
#include "../../includes/Dames/PieceDames.hpp" #include "../../includes/Dames/PieceDames.hpp"
PieceDames::PieceDames(const enum Categorie cat) PieceDames::PieceDames(const enum Categorie cat, const int posX, const int posY)
: Piece(to_string(cat)), dame(false) { : Piece(to_string(cat), posX, posY), dame(false) {
std::cout << "pièce - " << categorie << "\n"; std::cout << "pièce - " << categorie << "\n";
} }

View file

@ -10,7 +10,7 @@ void PlateauDames::initialiserPlateau() {
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
for (int j = 0; j < 10; j++) { for (int j = 0; j < 10; j++) {
if ((i % 2 == 0 && j % 2 == 1) || (i % 2 == 1 && j % 2 == 0)) { if ((i % 2 == 0 && j % 2 == 1) || (i % 2 == 1 && j % 2 == 0)) {
plateau[i][j] = new PieceDames(PieceDames::Noire); plateau[i][j] = new PieceDames(PieceDames::Noire, i, j);
j1->ajoutPiece(plateau[i][j]); j1->ajoutPiece(plateau[i][j]);
} }
} }
@ -19,7 +19,7 @@ void PlateauDames::initialiserPlateau() {
for (int i = 6; i < 10; i++) { for (int i = 6; i < 10; i++) {
for (int j = 0; j < 10; j++) { for (int j = 0; j < 10; j++) {
if ((i % 2 == 0 && j % 2 == 1) || (i % 2 == 1 && j % 2 == 0)) { if ((i % 2 == 0 && j % 2 == 1) || (i % 2 == 1 && j % 2 == 0)) {
plateau[i][j] = new PieceDames(PieceDames::Blanche); plateau[i][j] = new PieceDames(PieceDames::Blanche, i, j);
j2->ajoutPiece(plateau[i][j]); j2->ajoutPiece(plateau[i][j]);
} }
} }

View file

@ -1,6 +1,7 @@
#include "../includes/Piece.hpp" #include "../includes/Piece.hpp"
Piece::Piece(const std::string cat) : selected(false), categorie(cat) { Piece::Piece(const std::string cat, const int posX, const int posY)
: selected(false), categorie(cat), x(posX), y(posY) {
std::cout << "pièce - " << cat << "\n"; std::cout << "pièce - " << cat << "\n";
} }

View file

@ -1,6 +1,8 @@
#include "../../includes/Safari/PieceSafari.hpp" #include "../../includes/Safari/PieceSafari.hpp"
PieceSafari::PieceSafari(const enum Categorie cat) : Piece(to_string(cat)) { PieceSafari::PieceSafari(const enum Categorie cat, const int posX,
const int posY)
: Piece(to_string(cat), posX, posY) {
std::cout << "pièce - " << categorie << "\n"; std::cout << "pièce - " << categorie << "\n";
} }

View file

@ -6,7 +6,9 @@
Safari::Safari(Joueur &j1, Joueur &j2, Joueur *j3) Safari::Safari(Joueur &j1, Joueur &j2, Joueur *j3)
: Jeu(j1), plateau(PlateauSafari()), joueur2{j2}, joueur3{j3} { : Jeu(j1), plateau(PlateauSafari()), joueur2{j2}, joueur3{j3} {
for (int i = 0; i < 50; i++) { for (int i = 0; i < 50; i++) {
barrieres.push_back(new PieceSafari(PieceSafari::Barriere)); // TODO: Les pièces ont des positions invalides, il faut penser à les
// définir quand on les rajoute au plateau
barrieres.push_back(new PieceSafari(PieceSafari::Barriere, -1, -1));
} }
} }
@ -49,7 +51,8 @@ void Safari::choixAnimal(const PieceSafari::Categorie animal) const {
if (joueurCourant.getPieces().empty()) { if (joueurCourant.getPieces().empty()) {
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
joueurCourant.ajoutPiece(new PieceSafari(animal)); // Position invalide en attendant d'être ajouté au plateau de jeu
joueurCourant.ajoutPiece(new PieceSafari(animal, -1, -1));
} }
} }
} }