【问题标题】:Netlogo To randomly select one of 3 proceduresNetlogo 随机选择 3 个程序之一
【发布时间】:2012-03-27 19:35:55
【问题描述】:

如何随机选择 3 个程序之一?

请看下面:

to move
   ifelse random-float 100 < 70 
   [move-forward]
   [move-left move-right move-back] ;; To randomly select one of these 3 procedures to execute.
end

谢谢。我对语法很陌生。

【问题讨论】:

    标签: procedure netlogo


    【解决方案1】:

    NetLogo 6:

    run one-of (list [-> move-left]
                     [-> move-right]
                     [-> move-back])
    

    NetLogo 5:

    run one-of (list task move-left
                     task move-right
                     task move-back)
    

    【讨论】:

    • 由于 netlogoth 6.0 版不再使用“任务”,有没有办法以同样的方式做到这一点,但没有任务?
    • 我已更新我的答案以包括 NetLogo 6 和 NetLogo 5 版本。
    【解决方案2】:

    也许不是太优雅,但这可能有效:

    to move
      ifelse random-float 100 < 70 
      [move-forward]
      [let n random 3
        ifelse n = 0
        [move-left]
        [ifelse n = 1
          [move-right]
          [move-back]]]
    end
    

    【讨论】:

      猜你喜欢
      • 2023-01-04
      • 1970-01-01
      • 1970-01-01
      • 2013-12-16
      • 1970-01-01
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多