plateau mis droit (en esperant que ça bug pas apres.....)
This commit is contained in:
parent
a00d901671
commit
ba47996c31
3 changed files with 20 additions and 22 deletions
|
@ -16,8 +16,6 @@ class Dames : private Jeu {
|
||||||
|
|
||||||
// Etape du jeu, pour savoir où on en est
|
// Etape du jeu, pour savoir où on en est
|
||||||
enum Etape {
|
enum Etape {
|
||||||
ChoixJ1 = 0,
|
|
||||||
ChoixJ2,
|
|
||||||
EnJeu,
|
EnJeu,
|
||||||
Fini,
|
Fini,
|
||||||
};
|
};
|
||||||
|
|
|
@ -56,10 +56,6 @@ void Dames::event(const int x, const int y) {
|
||||||
<< posCurseur.first << ", " << posCurseur.second << ")\n";
|
<< posCurseur.first << ", " << posCurseur.second << ")\n";
|
||||||
|
|
||||||
switch (etape) {
|
switch (etape) {
|
||||||
case ChoixJ1: {
|
|
||||||
}
|
|
||||||
case ChoixJ2: {
|
|
||||||
}
|
|
||||||
case EnJeu: {
|
case EnJeu: {
|
||||||
const Piece *p = getPiece(posCurseur.first, posCurseur.second);
|
const Piece *p = getPiece(posCurseur.first, posCurseur.second);
|
||||||
if (getPiece(posCurseur.first, posCurseur.second)->getCategory() ==
|
if (getPiece(posCurseur.first, posCurseur.second)->getCategory() ==
|
||||||
|
@ -67,21 +63,25 @@ void Dames::event(const int x, const int y) {
|
||||||
// On sélectionne la pièce
|
// On sélectionne la pièce
|
||||||
plateau.modifierSelection(posCurseur.first, posCurseur.second);
|
plateau.modifierSelection(posCurseur.first, posCurseur.second);
|
||||||
}
|
}
|
||||||
|
// Si une prise est possible, le joueur est obligé d'en faire une
|
||||||
if (prisePossible(*joueurCourant)) {
|
if (prisePossible(*joueurCourant)) {
|
||||||
Ecran::printMessage("Vous devez forcément faire une prise.");
|
Ecran::printMessage("Vous devez forcément faire une prise.");
|
||||||
|
// Quand il ne peux pas faire de prise, il déplace une de ses pieces
|
||||||
|
}else{
|
||||||
|
// Vérifier que le déplacement est correct
|
||||||
|
if (plateau.deplacementValide(posCurseur.first, posCurseur.second)) {
|
||||||
|
// Test si le déplacement est possible pour un pions : en diagonal en direction de l'autre joueur
|
||||||
|
if((joueurCourant==&joueur1 && posCurseur.first==p->getPos().first+1) ||
|
||||||
|
(joueurCourant==&joueur2 && posCurseur.first==p->getPos().first-1) &&
|
||||||
|
(posCurseur.second == p->getPos().second+1 || posCurseur.second == p->getPos().second-1)){
|
||||||
|
plateau.moveSelection(posCurseur.first, posCurseur.second);
|
||||||
|
// Donne la main au joueur suivant
|
||||||
|
changerJoueurCourant();
|
||||||
|
Ecran::printMessage(msgTonTour());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Vérifier que le déplacement est correct
|
break;
|
||||||
if (plateau.deplacementValide(posCurseur.first, posCurseur.second)) {
|
|
||||||
// Test si le déplacement est possible pour un pions : en diagonal en direction de l'autre joueur
|
|
||||||
if((joueurCourant==&joueur1 && posCurseur.first==p->getPos().first+1) ||
|
|
||||||
(joueurCourant==&joueur2 && posCurseur.first==p->getPos().first-1) &&
|
|
||||||
(posCurseur.second == p->getPos().second+1 || posCurseur.second == p->getPos().second-1)){
|
|
||||||
plateau.moveSelection(posCurseur.first, posCurseur.second);
|
|
||||||
// Donne la main au joueur suivant
|
|
||||||
changerJoueurCourant();
|
|
||||||
Ecran::printMessage(msgTonTour());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case Fini: {
|
case Fini: {
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
PlateauDames::PlateauDames(Joueur &joueur1, Joueur &joueur2)
|
PlateauDames::PlateauDames(Joueur &joueur1, Joueur &joueur2)
|
||||||
: Plateau(10, sf::Color(255, 205, 160), sf::Color(210, 140, 70)),
|
: Plateau(10, sf::Color(255, 205, 160), sf::Color(210, 140, 70)),
|
||||||
j1(&joueur1), j2(&joueur2) {
|
j1(&joueur1), j2(&joueur2) {
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 10; i++) {
|
||||||
for (int j = 0; j < 10; j++) {
|
for (int j = 0; j < 4; 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, i, j);
|
plateau[i][j] = new PieceDames(PieceDames::Noire, i, j);
|
||||||
j1->ajoutPiece(plateau[i][j]);
|
j1->ajoutPiece(plateau[i][j]);
|
||||||
|
@ -13,8 +13,8 @@ PlateauDames::PlateauDames(Joueur &joueur1, Joueur &joueur2)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 6; i < 10; i++) {
|
for (int i = 0; i < 10; i++) {
|
||||||
for (int j = 0; j < 10; j++) {
|
for (int j = 6; 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, i, j);
|
plateau[i][j] = new PieceDames(PieceDames::Blanche, i, j);
|
||||||
j2->ajoutPiece(plateau[i][j]);
|
j2->ajoutPiece(plateau[i][j]);
|
||||||
|
|
Reference in a new issue