NetLogo для случайного выбора один из 3 процедур

StackOverflow https://stackoverflow.com//questions/9649519

  •  11-12-2019
  •  | 
  •  

Вопрос

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

Спасибо.Я довольно не знаком со синтаксисом.

Это было полезно?

Решение

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

Другие советы

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

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
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top