question: 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 ) ) ; } }
target:  Generate all possible pawn moves from (x0,y0) to (x1,y1), taking pawn promotions into account.