Esempio n. 1
0
  /*
   * Method to check if the king can move to a position without being put in check
   */
  public Boolean canKingMove(int destX, int destY, Board board) {
    ArrayList<Piece> enemyPieces = board.getEnemyPieces(this.color);

    for (int i = 0; i < enemyPieces.size(); i++) {
      Piece enemyPiece = enemyPieces.get(i);
      String type = enemyPiece.getClass().getName().substring(7).toLowerCase();
      if (type.equals("king") && board.canKingMove(destX, destY, enemyPiece)) {
        return false;
      } else if (enemyPiece.checkValid(destX, destY, board)) {
        return false;
      }
    }

    return true;
  }