netlogo真实的捕食者行为

netlogo真实的捕食者行为,netlogo,Netlogo,我正在与Netlogo合作,创建一个真实的捕食者-猎物模型,但在距离命令上我被难住了 ifelse any? sheep in-radius senserange [ let prey min-one-of sheep in-radius senserange [distance myself] **ifelse [distance prey] < speedrange** [move-to prey let addenergy [energy] of

我正在与Netlogo合作,创建一个真实的捕食者-猎物模型,但在距离命令上我被难住了


ifelse any? sheep in-radius senserange [
    let prey min-one-of sheep in-radius senserange [distance myself]
    **ifelse [distance prey] < speedrange**
      [move-to prey
    let addenergy [energy] of prey
    ask prey [die]
        set energy energy + (addenergy * energy-gain-from-sheep)
    rt 180
    fd speedrange
    ]
    [set heading towards prey
      fd speedrange
    ]
  ]
  [wiggle
  fd 1]



还有别的吗?半径感应羊[
让猎物在半径范围内捕捉一只羊[距离我自己]
**ifelse[距离猎物]<速度范围**
[向猎物移动
让猎物的能量[能量]
问猎物[死]
设置能量+(附加能量*从羊身上获得的能量)
rt 180
fd速度范围
]
[向猎物飞去
fd速度范围
]
]
[摇摆
fd 1]
粗体的代码就是问题所在:我希望狼群不要立即扑向猎物,而是以其速度范围的增量向它移动,当然,除非它在该范围内,然后跑过去抓住它;)

我收到错误:“此处应为代理、数字或字符串,而不是列表或块”

我想是用距离命令,我也试过这样的方法

ifelse猎物在半径速度范围内[距离自己]


Thsi版本导致错误:“IFELSE预期此输入为T/F,但得到了海龟代理集或补丁代理集

尝试
IFELSE距离猎物
而不是
IFELSE[距离猎物]
-此处不需要报告者/命令括号

尝试
ifelse距离猎物
而不是
ifelse[距离猎物]
-此处不需要报告者/命令括号