Netlogo随机选择3个过程之一

问题描述 投票:2回答:2

我如何随机选择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
2个回答
7
投票

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)

3
投票

也许不太优雅,但这可能起作用:

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
© www.soinside.com 2019 - 2024. All rights reserved.