Netlogo Чтобы случайно выбрать одну из 3 процедур - PullRequest
2 голосов
/ 10 марта 2012

Как выбрать случайным образом одну из 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

Спасибо.Я совершенно незнаком с синтаксисом.

Ответы [ 2 ]

7 голосов
/ 12 марта 2012
run one-of (list task move-left
                 task move-right
                 task move-back)
3 голосов
/ 12 марта 2012

Может быть, не слишком элегантно, но это может сработать:

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
...