我正在为猎物 – 捕食者模型构建交互.
我有一个根据它当前所处状态改变颜色的猎物.我正在处理的状态是“隐藏”,其中猎物是黄色的.我有一个捕食者正在评估它是否可以追逐猎物,我试图通过评估猎物的颜色来做到这一点,但它似乎并没有起作用.
to chase
let target min-one-of prey [distance myself]
output-print target
ifelse target != yellow
[
output-print "chase"
]
[
output-print "ignore"
]
end
当我运行模型时,捕食者不断打印“追逐” – 无论猎物是否“隐藏”.
这是隐藏功能.
to hiding
set color yellow
set energy (energy - 1)
if (count predators = 0)
[
output-print "safe"
]
end
任何帮助,将不胜感激.
最佳答案 要访问括号中的变量名称所围绕的颜色(或代理的任何其他变量),请使用“of”
[color] of target
在您的代码的上下文中,它看起来像这样
to chase
let target nearest-of prey
output-print target
ifelse [color] of target != yellow
[
output-print "chase"
]
[
output-print "ignore"
]
结束
它需要一些时间来习惯,因为它与“C”风格语言使用的object.variable形式完全不同.