IfElse 嵌套不起作用

IfElse nested not working

请检查此代码。哪一部分是错误的

to catch-lizards
    let prey one-of lizards-here
    ifelse prey = "lizard2"
    [ show "WRONG" ask prey [die]
     set lifetime = lifetime + hawks-life-gain ]
    [ifelse droping-tail? = true
    [ask prey [set shape "lizard2"
    set lifetime lifetime + hawks-life-gain / 4 ] ]
    [ask prey [die]
    set lifetime lifetime + hawks-life-gain ]
   ]
  ]
end

问题出在写入 (show "wrong") 的地方。那部分不执行。语法不正确吗?

ifelse prey = "lizard2"部分,你比较prey是否是字符串lizard2。但是猎物不是一个字符串,它是一个具有某些属性的对象,比如 shapelifetime.

所以你需要问猎物的形状是不是lizard2.

更新: 检查猎物的形状大概是这样的:

ask prey [
  ifelse shape = "lizard2" [
    …
  ] [
    …
  ]
]