在代码中使用ifelse语句并在netlogo

时间:2017-05-23 19:28:09

标签: netlogo

我正在尝试使用ifelse语句为全局变量提供条件“space-death?”在netlogo接口上实现为交换机。

    to Pass-Away
     ifelse space-death? [ 
     ask turtles[ Pass-Away-Space ]
     ask turtles[ Pass-Away-Time]
    ]
  ]
end

在代码中,我实现了一个名为“Pass-Away”的乌龟死亡程序,该程序在运行时会询问是否在netlogo界面打开了空间死亡开关。如果空间死亡开关打开,那么它要求海龟打电话并运行另一个名为“Pass-Away-Space”的netlogo程序块,如果不是,则通过调用另一个称为“Pass-Away-”的程序块来定期死亡。时间。”

但是,我收到以下错误消息:

IFELSE需要三个输入,一个TRUE / FALSE,一个命令块和一个命令块

可以看到我可能出错的地方并相应地更正此代码。或者,如果有一种更好的基于代码的方式来实现除了全局接口之外的这种逻辑,请放心我的回复。

1 个答案:

答案 0 :(得分:1)

globals [space-death?]

to setup
  ca
  set space-death? true
  crt 100
end

to go
  ask turtles [pass-away]
end

to pass-away
  ifelse space-death? [ 
    Pass-Away-Space
  ][
    Pass-Away-Time
  ]
end

to pass-away-space
  ;your code here
end

to pass-away-time
  ;your code here
end