Package echiquier.deplacement

Source Code of echiquier.deplacement.DPion

package echiquier.deplacement;

import echiquier.outils.Couleur;
import echiquier.outils.Position;

/**
* Gestion des déplacements des pions
*
* @author Baptiste BOUCHEREAU <baptiste.bouchereau@cpe.fr>
* @author Eric GILLET <eric.gillet@cpe.fr>
*/
public class DPion implements IDeplacement {

  @Override
  public boolean deplacemementCorrect(Position pi, Position pf, Couleur c) {
    int deltaX = pf.getX() - pi.getX();
    int deltaY = pf.getY() - pi.getY();

    if (c == Couleur.BLANC) {
      // Test d'avancement 1 case, ou test de capture diagonale, ou test
      // de premier mouvement
      if (deltaY == 1 && deltaX == 0
          || deltaY == 1 && Math.abs(deltaX) == 1
          || pi.getY() == 1 && deltaY == 2 && deltaX == 0 )
        return true;
    } else {
      if (deltaY == -1 && deltaX == 0
          || deltaY == -1 && Math.abs(deltaX) == 1
          || pi.getY() == 6 && deltaY == -2 && deltaX == 0)
        return true;
    }

    return false;
  }

    @Override
  public Position next(Position pi, Position pf, Couleur c) {
      int deltaY = pf.getY() - pi.getY();
    if (Math.abs(deltaY) == 2) {
      return new Position(pi.getX(), pi.getY() + deltaY/2);     
    }
    return pf;
  }
}
TOP

Related Classes of echiquier.deplacement.DPion

TOP
Copyright © 2018 www.massapi.com. 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.