2023-11-12 16:05:42 +01:00
|
|
|
#include "../includes/Plateau.hpp"
|
2023-12-01 15:26:34 +01:00
|
|
|
#include "../includes/PieceDames.hpp"
|
2023-11-26 17:53:37 +01:00
|
|
|
|
2023-11-21 18:07:13 +01:00
|
|
|
Plateau::Plateau(int t) {
|
2023-11-24 20:34:22 +01:00
|
|
|
// Création du plateau vide
|
2023-11-21 18:07:13 +01:00
|
|
|
plateau = new Piece **[t];
|
|
|
|
for (int i = 0; i < t; i++) {
|
|
|
|
plateau[i] = new Piece *[t];
|
|
|
|
for (int j = 0; j < t; j++) {
|
2023-11-21 12:33:04 +01:00
|
|
|
plateau[i][j] = nullptr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-12 16:05:42 +01:00
|
|
|
|
2023-11-24 20:34:22 +01:00
|
|
|
Plateau::~Plateau() {
|
|
|
|
for (int i = 0; i < taille; i++) {
|
|
|
|
delete[] plateau[i];
|
|
|
|
}
|
|
|
|
delete[] plateau;
|
|
|
|
}
|
2023-11-12 16:05:42 +01:00
|
|
|
|
|
|
|
Plateau::Plateau(const Plateau &) {}
|
|
|
|
|
|
|
|
const Plateau &Plateau::operator=(const Plateau &src) {
|
|
|
|
if (this == &src) {
|
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
|
|
|
return *this;
|
|
|
|
}
|
2023-11-24 20:14:05 +01:00
|
|
|
|
2023-11-26 17:53:37 +01:00
|
|
|
void Plateau::initialiserPlateau(Joueur &j1, Joueur &j2) {
|
2023-12-01 15:06:20 +01:00
|
|
|
for (int i = 0; i < 4; i++) {
|
|
|
|
for (int j = 0; j < 10; j++) {
|
|
|
|
if ((i % 2 == 0 && j % 2 == 1) || (i % 2 == 1 && j % 2 == 0)) {
|
2023-12-01 12:32:45 +01:00
|
|
|
plateau[i][j] = new PieceDames("noire");
|
|
|
|
j1.ajoutPiece(plateau[i][j]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-12-01 15:26:34 +01:00
|
|
|
|
2023-12-01 15:06:20 +01:00
|
|
|
for (int i = 6; i < 10; i++) {
|
|
|
|
for (int j = 0; j < 10; j++) {
|
|
|
|
if ((i % 2 == 0 && j % 2 == 1) || (i % 2 == 1 && j % 2 == 0)) {
|
2023-12-01 12:32:45 +01:00
|
|
|
plateau[i][j] = new PieceDames("blanche");
|
|
|
|
j2.ajoutPiece(plateau[i][j]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-26 17:53:37 +01:00
|
|
|
}
|
2023-11-24 20:14:05 +01:00
|
|
|
|
|
|
|
void Plateau::afficherPlateau() {}
|
|
|
|
|
|
|
|
void Plateau::modifierPlateau(int x, int y, Piece *piece) {
|
|
|
|
if (x >= 0 && x < taille && y >= 0 && y < taille) {
|
|
|
|
plateau[x][y] = piece;
|
|
|
|
} else {
|
|
|
|
throw std::invalid_argument("Coordonnées invalides");
|
|
|
|
}
|
|
|
|
}
|