开发者社区> 问答> 正文

if(true)会做什么?

在这种情况下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);
}

}

展开
收起
小六码奴 2019-10-03 19:33:22 1078 0
1 条回答
写回答
取消 提交回答
  • 这段代码if(true)什么都不做-它始终是'true',所以里面的代码将始终被执行,就像if(true)那里的构造不存在一样

    2019-10-09 16:25:59
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
How Simplicity Will Unlock the True Potential of 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载