在这种情况下if(true)会做什么?我正在学习构建象棋引擎程序的教程。下面的代码行让我感到困惑,我不确定它到底能做什么。
public class Knight extends Piece { private final static int[] CANDIDATE_MOVE_COORDINATES = {-17, -15, -10 , -6, 6, 10, 15, 17};
Knight(final int piecePosition, final Alliance pieceAlliance)
{
    super(piecePosition, pieceAlliance);
}
@Override
public List<Move> calculateLegalMoves(Board board)
{
    int candidateDestinationCoordinate;
    final List<Move> legalMoves = new ArrayList<>();
    for (final int currentCandidate : CANDIDATE_MOVE_COORDINATES)
    {
        candidateDestinationCoordinate = this.piecePosition + currentCandidate;
        if (true)
        {
            final Tile candidateDestinationTile = board.getTile(candidateDestinationCoordinate);
            if (!candidateDestinationTile.isTileOccupied())
            {
                legalMoves.add(new Move());
            }
            else
            {
                final Piece pieceAtDestination = candidateDestinationTile.getPiece();
                final Alliance pieceAlliance = pieceAtDestination.getPieceAlliance();
                if (this.pieceAlliance != pieceAlliance)
                {
                    legalMoves.add(new Move());
                }
            }
        }
    }
    return ImmutableList.copyOf(legalMoves);
}
 
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这段代码if(true)什么都不做-它始终是'true',所以里面的代码将始终被执行,就像if(true)那里的构造不存在一样