在代码中使用 ifelse 语句并在 netlogo 中的界面中切换

using ifelse statement in code and switch in interface in 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 界面上打开了 space-死亡开关。如果 space-death 开关打开,那么它会要求海龟调用 运行 另一个名为 "Pass-Away-Space" 的 netlogo 过程块,如果没有,则通过调用另一个过程块来定期进行海龟死亡配音 "Pass-Away-Time."

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

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

有人能看出我可能哪里出错了并相应地更正这段代码吗?或者,如果有比全局接口更好的基于代码的方法来实现此逻辑,请允许我回复。

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