gpt4 book ai didi

java - 使用 Point2D 中的距离将变量与数组进行比较

转载 作者:行者123 更新时间:2023-12-01 13:21:22 24 4
gpt4 key购买 nike

我的目标是如果门在附近则返回 true(门是游戏对象的子类,allObjectsInWorld 是一个 ArrayList,其中包含世界上的所有游戏对象,包括这扇门)当我靠近门时我返回 false。如果对象是门,则 get isdoor 返回 true

GameObject.position是一个Point2D点

public boolean isDoorNear(GameObject user) {
boolean tempBoo = false;
for(int i = 0; i < allObjectsInWorld.size();i++) {
GameObject a = (GameObject) allObjectsInWorld.get(i); //checks to see if something is there
if( user.position.distance(a.position) <= 2.0 && a.isDoor) {
tempBoo = true;
}
else {
tempBoo = false;
}
}
return tempBoo;
}

最佳答案

tempBoo = false 行很糟糕:即使之前检测到某些门,它也会将返回值更改为 true。只需依靠初始化来提供默认返回 false ,除非附近有任何门。

但是你可以通过提前返回来完全避免所有 tempBoo 的事情:

public boolean isDoorNear(GameObject user) {
for(int i = 0; i < allObjectsInWorld.size();i++) {
GameObject a = (GameObject) allObjectsInWorld.get(i);
if( user.position.distance(a.position) <= 2.0 && a.isDoor)
return true;
}
return false;
}

关于java - 使用 Point2D 中的距离将变量与数组进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22006177/

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