我在用anylogic建立一个模型。这里是代码:在anylogic中比较两个对象
victim = null;
for (People p : main.people){
//když je dostatečně daleko
if((distanceTo(p, METER)) < fightDistance){
if(randomTrue(fightProbability) && !p.equals(victim)) {
victim = p; //set the victim
break; //stop scan
}
}
}
战斗机应该选择他的受害者的概率为20%。两名战士不能共享同一个受害者,这是行不通的。我需要确保选定的人不是受害者,尽管&& !p.equals(victim)
不会帮助...
你有没有在你的'People'类中重写了equals(对象O)和hashCode方法? – MaxPower
'p.equals(受害人)'将始终返回'false',因为'victim'为空。你应该使用另一种方法。例如。创建一个受害者集合并添加一些peopel –