private final void addPawnMoves(ArrayList<Move> moveList,int sq0,int sq1){
  if (sq1 >= 56) {
    moveList.add(getMoveObj(sq0,sq1,Piece.WQUEEN));
    moveList.add(getMoveObj(sq0,sq1,Piece.WKNIGHT));
    moveList.add(getMoveObj(sq0,sq1,Piece.WROOK));
    moveList.add(getMoveObj(sq0,sq1,Piece.WBISHOP));
  }
 else   if (sq1 < 8) {
    moveList.add(getMoveObj(sq0,sq1,Piece.BQUEEN));
    moveList.add(getMoveObj(sq0,sq1,Piece.BKNIGHT));
    moveList.add(getMoveObj(sq0,sq1,Piece.BROOK));
    moveList.add(getMoveObj(sq0,sq1,Piece.BBISHOP));
  }
 else {
    moveList.add(getMoveObj(sq0,sq1,Piece.EMPTY));
  }
}

private final void addPawnMoves ( ArrayList < Move > moveList , int sq0 , int sq1 ) { if ( sq1 >= 56 ) { moveList . add ( getMoveObj ( sq0 , sq1 , Piece . WQUEEN ) ) ; moveList . add ( getMoveObj ( sq0 , sq1 , Piece . WKNIGHT ) ) ; moveList . add ( getMoveObj ( sq0 , sq1 , Piece . WROOK ) ) ; moveList . add ( getMoveObj ( sq0 , sq1 , Piece . WBISHOP ) ) ; } else if ( sq1 < 8 ) { moveList . add ( getMoveObj ( sq0 , sq1 , Piece . BQUEEN ) ) ; moveList . add ( getMoveObj ( sq0 , sq1 , Piece . BKNIGHT ) ) ; moveList . add ( getMoveObj ( sq0 , sq1 , Piece . BROOK ) ) ; moveList . add ( getMoveObj ( sq0 , sq1 , Piece . BBISHOP ) ) ; } else { moveList . add ( getMoveObj ( sq0 , sq1 , Piece . EMPTY ) ) ; } }
generate all possible pawn moves from ( x0 , y0 ) to ( x1 , y1 ) , taking pawn promotions into account .
