gpt4 book ai didi

java - robocode 中的线性定位

转载 作者:太空宇宙 更新时间:2023-11-04 10:34:00 25 4
gpt4 key购买 nike

谁能给我解释一下这段代码吗?我不明白循环中的条件 while 和“预测的 X”。为什么predicted_X < 18 ? 18是什么意思?

while((++deltaTime)*BULLET_SPEED < 
Point2D.Double.distance(myX, myY, predictedX, predictedY)) {
predictedX += Math.sin(enemyHeading) * e.getVelocity();
predictedY += Math.cos(enemyHeading) * e.getVelocity();
enemyHeading += enemyHeadingChange;
if(predictedX < 18.0
|| predictedY < 18.0
|| predictedX > getBattleFieldWidth() - 18.0
|| predictedY > getBattleFieldHeight() - 18.0) {
predictedX = Math.min(Math.max(18.0, predictedX),
getBattleFieldWidth() - 18.0);
predictedY = Math.min(Math.max(18.0, predictedY),
getBattleFieldHeight() - 18.0);
break;
}
}

最佳答案

机器人的宽度是 36px,所以 18.0 是它的一半。该条件只是确保您预测的 X/Y 不在战场之外

关于java - robocode 中的线性定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49675290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com