我希望具有特定变量级别的代理能够以给定的可能性死亡。
这是我的代码:
ask turtles [
let choose precision(random-float 1) 2
if var >= 18 AND var <= 24 AND if choose < 0.1 [ die ]
if var >= 25 AND var <= 30 AND if choose >= 0.15 [ die ]
if var >= 31 AND var <= 40 AND if choose >= 0.2 [ die ]
if var >= 41 AND var <= 70 AND if choose >= 0.25 [ die ]
if var >= 71 AND var <= 86 AND if choose >= 0.15 [ die ]
if var > 86 [ die ]
]
但是,似乎NetLogo不喜欢堆叠条件并给我以下错误代码:
AND expected 1 input on the right, a TRUE/FALSE
在选择这部分代码时
var >= 18 AND var <= 24 AND
。
我做错了什么?
当您在NetLogo中有像if
或ifelse
这样的条件的多个条件时,您可以将它们与and
和or
等逻辑运算符链接在一起,而无需重复条件原语 - 所以:
if var >= 18 AND var <= 24 AND if choose < 0.1 [ die ]
变
if var >= 18 and var <= 24 and choose < 0.1 [ die ]