Package echiquier.pieces

Examples of echiquier.pieces.Piece


   * @param Piece
   *            piece
   * @return boolean
   */
  public boolean estDeMemeCouleur(Position position, Piece piece) {
    Piece piecePlacee = plateau.get(position);
    if (piecePlacee == null) {
      return false;
    } else {
      if (piecePlacee.getCouleur() == piece.getCouleur())
        return true;
      else
        return false;
    }
  }
View Full Code Here


   * @return
   */
  public boolean roiEstEnDanger(Position pRoi) {
    for (int i = 0; i < 8; ++i) {
      for (int j = 0; j < 8; ++j) {
        Piece piece = plateau.get(new Position(i, j));
        if (piece != null
            && piece.getCouleur() != getPieceAt(pRoi).getCouleur()
            && getDeplacementEtat(getPiecePosition(piece), pRoi) == DeplacementEtat.SUCCES) {
          return true;
        }
      }
    }
View Full Code Here

   * @param Piece
   *            piece: la piece à deplacer
   * @return DeplacementEtat etat: l'état du déplacement
   */
  public DeplacementEtat getDeplacementEtat(Position pi, Position pf) {
    Piece pieceInit = getPieceAt(pi);

    if (pieceInit == null) {
      return DeplacementEtat.PASDEPIECE;
    }
    if (!Outils.isInTheTableau(pf)) {
      return DeplacementEtat.HORSDUPLATEAU;
    }
    if (!pieceInit.deplacementCorrect(pi, pf, pieceInit.getCouleur())) {
      return DeplacementEtat.INCORRECT;
    }
    if (this.estDeMemeCouleur(pf, pieceInit)) {
      return DeplacementEtat.DEJAOCCUPE;
    }
    Position before = this.getPiecePosition(pieceInit);
    while (!before.equals(pf)) {
      Position nextPosition = pieceInit.next(before, pf,
          pieceInit.getCouleur());
      if (!nextPosition.equals(pf) && getPieceAt(nextPosition) != null) {
        return DeplacementEtat.COLLISION;
      }
      before = pieceInit.next(before, pf, pieceInit.getCouleur());
    }

    /***********************
     * Cas spécial du pion *
     * *********************/
    if (pieceInit instanceof Pion) {
      if (Outils.isDeplacementDiagonal(pi, pf)) {
        if (getPieceAt(pf) == null)
          return DeplacementEtat.INCORRECT;
      } else if (getPieceAt(pf) != null)
        return DeplacementEtat.INCORRECT;
    }

    /***************************
     * Test de l'échec au roi *
     ***************************/

    // Enregistrement des positions
    Piece pieceF = getPieceAt(pf);

    // simulation du déplacement
    Piece pieceATester = pieceInit;
    plateau.put(pf, pieceATester);
    plateau.remove(pi);

    if (roiEstEnDanger(getRoiPosition(pieceInit.getCouleur()))) {
      // On remet comme avant quelque soit le résultat car la fonction
View Full Code Here

   * @param Position
   *            pf: position finale
   */
  @SuppressWarnings("unchecked")
  public DeplacementEtat deplacer(Position pi, Position pf) {
    Piece pieceF = getPieceAt(pf);
    Piece pieceI = getPieceAt(pi);

    System.out
        .println("Déplacement du " + pieceI.getClass().getSimpleName()
            + " " + pieceI.getCouleur());

    // si une piece est mangée on la met dans une liste
    if (pieceF != null) {
      if (pieceF.getCouleur() == Couleur.BLANC)
        piecesBlanches.add(pieceF);
      else
        piecesNoires.add(pieceF);
    }
   
    //On effectue la permutation en reine s'il s'agit d'un pion en bout de course
    if (pieceI.getClass().getSimpleName().equals("Pion")) {
      if(pf.getY() == 0 && pieceI.getCouleur() == Couleur.NOIR) {
        pieceI = new Reine(Couleur.NOIR);
      }
      if(pf.getY() == 7 && pieceI.getCouleur() == Couleur.BLANC) {
        pieceI = new Reine(Couleur.BLANC);
      }
    }
   
    plateau.put(pf, pieceI);
View Full Code Here

   */
  void displayEchiquier(Echiquier eq) {

    for (Entry<Position, Piece> e : eq.getPlateau().entrySet()) {

      Piece p = e.getValue();

      addPiece(p, e.getKey().getX(), e.getKey().getY());

    }
  }
View Full Code Here

TOP

Related Classes of echiquier.pieces.Piece

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.