我想以字符串形式传递我的代理将在/到达的目标节点。
我有一个具有多个参数的座席(汽车),其中之一是位置。我有一个ResourcePool,其中有多个可在其中停放汽车的家(将汽车移到被占领单位的家中)。我正在尝试收集停放汽车的节点,并在其退出moveTo块时将其作为字符串传递给此位置参数:
if(moveTo.destinationNode(agent) == nodeA) {
agent.location = "A";
} else {
agent.location = "NULL";
}
但是,当汽车停在nodeA上时。我期望location的值是A,但是参数显示为NULL,而不应该是NULL。任何建议都是非常有价值的。谢谢!
答案 0 :(得分:0)
我认为问题是您使用了==
运算符,但没有重载它来比较两个节点。 (我不知道该怎么做,但是可以)。也许您可以做类似if (x.location == y.location) {}
的事情(我是由这些名字组成)。希望这会有所帮助。
答案 1 :(得分:0)
if(agent.getNetworkNode() == nodeA){
agent.location = "A"
} else if(agent.getNetworkNode() == nodeB){
agent.location = "B"
}
...等等