我在用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 –