diff --git a/src/piecesEchiquier/Echiquier.java b/src/piecesEchiquier/Echiquier.java index 1602071..1e866de 100644 --- a/src/piecesEchiquier/Echiquier.java +++ b/src/piecesEchiquier/Echiquier.java @@ -212,7 +212,10 @@ public class Echiquier { } } - this.getEchiquier()[k][l].metEnEchec(this,stockageRoi); //Verifie si le roi sera en echec + if (this.getEchiquier()[k][l].metEnEchec(this,stockageRoi) == true) //Verifie si le roi sera en echec + { + System.out.println("Le roi adverse est en échec"); + } return true; } } diff --git a/src/piecesEchiquier/Piece.java b/src/piecesEchiquier/Piece.java old mode 100755 new mode 100644 index 86682a8..0a0e7b7 --- a/src/piecesEchiquier/Piece.java +++ b/src/piecesEchiquier/Piece.java @@ -105,7 +105,7 @@ public class Piece { { if(this.deplacable(e,p) == true) //1er cas : la pièce se deplace une seconde fois (pas vraiment) et verifie qu'elle tombe sur la position du roi (soit noir, soit blanc selon la couleur de la pièce) { - System.out.println("Le roi est en échec"); + p.roiEchec=true; return true; } diff --git a/src/piecesEchiquier/Roi.java b/src/piecesEchiquier/Roi.java index eded64b..2bdb559 100755 --- a/src/piecesEchiquier/Roi.java +++ b/src/piecesEchiquier/Roi.java @@ -233,14 +233,14 @@ public class Roi extends Piece { { if ( !((8-(p.getPosition().getY()+1 ) )<0 || 8-(p.getPosition().getY()-1 )>7 || (p.getPosition().getX()-2 )<0 || (p.getPosition().getX() )>7)) //verifie que le roi n'est pas dans un coin { - if (this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()+1)][p.getPosition().getX()-1]) == false //verifie que si le roi ne peut pas de deplacer autour de lui - && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-1]) ==false - && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()+1)][p.getPosition().getX()]) == false - && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()]) == false - && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()]) == false - && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()+1)][p.getPosition().getX()-2]) == false - && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2]) == false - && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-2]) == false) + if (this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()+1)][p.getPosition().getX()-1]) == false //HAUT verifie que si le roi ne peut pas de deplacer autour de lui + && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-1]) ==false // BAS + && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()+1)][p.getPosition().getX()]) == false // HAUT DROITE + && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()]) == false // DROITE + && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()]) == false // BAS DROITE + && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()+1)][p.getPosition().getX()-2]) == false // HAUT GAUCHE + && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2]) == false // GAUCHE + && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-2]) == false) // BAS GAUCHE { return true; } diff --git a/src/visuel/main.java b/src/visuel/main.java index 879516b..e758f0e 100755 --- a/src/visuel/main.java +++ b/src/visuel/main.java @@ -116,16 +116,30 @@ public class main { - } while (e.verificationMouvement(j1, A, B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées - /*if (e.getRoiN1().enEchec(e,j2) && e.getRoiN1().enEchecEtMat(e,j2)) + } while (e.verificationMouvement(j1, A, B) != true ); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées + + if (e.getRoiB1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1]) == true || //si un des 2 roi est en echecetmmat + e.getRoiN1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiN1().getPosition().getY()][e.getRoiN1().getPosition().getX()-1]) == true) { - System.out.println("Le joueur 2 est echec et mat, il a perdu !"); + if (e.getRoiB1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1]) == true ) //si cest le roi blanc + { + System.out.println("Le joueur 1 "+ j1.getNom() +" est echec et mat, il a perdu !"); + } + if (e.getRoiN1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiN1().getPosition().getY()][e.getRoiN1().getPosition().getX()-1]) == true )//si c'est le roi noir + { + System.out.println("Le joueur 2 " + j2.getNom() +" est echec et mat, il a perdu !"); + } jeu = false; - }*/ + } + + + if(jeu == true) + { //REAFFICHAGE ECHIQUIER System.out.println(e.toString()); // JOUEUR2 + System.out.println("Tour de " + j2.getNom() + "\n"); do { @@ -146,7 +160,9 @@ public class main { } } while (e.verificationMouvement(j2, A, B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées - + + + // VERIF ECHECMAT if (e.getRoiB1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1]) == true || //si un des 2 roi est en echecetmmat e.getRoiN1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiN1().getPosition().getY()][e.getRoiN1().getPosition().getX()-1]) == true) { @@ -160,13 +176,13 @@ public class main { } jeu = false; } - - } while (jeu == true); - + }; + }while(jeu == true); System.out.println("Voulez vous redémarrer une nouvelle partie ? (oui / non)"); choixRedem = sc.nextLine(); - if(choixRedem.equalsIgnoreCase("oui")) { + if(choixRedem.equalsIgnoreCase("oui")) + { jeu = true; System.out.println("Voulez vous conserver les mêmes paramètres de partie ? (oui / non)"); @@ -178,14 +194,18 @@ public class main { choixPartie = 1; } - } else if(choixRedem.equalsIgnoreCase("non")) { + } + else if(choixRedem.equalsIgnoreCase("non")) { System.out.println("Merci d'avoir joué à notre jeu d'échec - Team G00D3NOUGHT - CC BY !"); - } else { + choixPartie = 0; + } + else { System.err.println("Une erreur s'est produite, les joueurs ont mal saisie des entrées lors de la fin du programme."); } - } + System.err.println("Une erreur s'est produite, les joueurs ont mal saisie des entrées lors du démarrage du programme. (nom de joueur vide OU un mauvais numéro de configuration par exemple)"); sc.close(); - } + } + } }