这是猛禽和人类的食肉动物捕食模拟。我希望猛禽在射程范围内直接移动到最近的人类。如何在netlogo中实现这一点?有什么建议吗?
答案 0 :(得分:4)
假设您想要一个5的范围,并且假设您希望猛禽向每个蜱的最近的人移动一步。然后:
ask raptors [
let candidates humans in-radius 5
if any? candidates [
let target min-one-of candidates [distance myself]
face target
fd 1
]
]
答案 1 :(得分:1)
要添加Seth建议的替代方案,如果你想让猛禽立即移动到目标人类然后立即吃掉它们,你可以试试:
ask raptors [
let candidates humans in-radius 5
if any? candidates [
let target min-one-of candidates [distance myself]
move-to target
ask target [die]
]
]
如果你想让猛禽获得任何东西(能量等),你可以把它放在move-to和ask目标命令之间。如果你想让人类在吃东西时做任何事情(为其他人喊叫等等),你可以在ask target命令之后将它放在括号中但是确保将它放在die之前或者die命令执行第一。