2016-05-27 149 views
1

请检查此代码。哪一部分是错误的IfElse嵌套不工作

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 

问题在哪里(显示“错误”)被写入。该部分不执行。语法不正确?

回答

1

ifelse prey = "lizard2"部分,您比较prey的字符串lizard2。但猎物不是一个字符串,它是一个物体,如shapelifetime

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

更新:检查猎物的形状很可能是这样的:

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

我想检查捕食形状LIZARD2。那是条件。我怎么做? PREY是agentset,LIZARD1,LIZARD2是它的形状。我想在某些条件下交换这些形状。 –