Netlogo, как я могу случайно посеять черепах в эллипсе? - PullRequest
0 голосов
/ 28 мая 2018

Я новичок в NetLogo и хочу случайным образом посеять черепах в эллипсе.И я установил пятна как синие внутри эллипса, так и белые на заднем плане.Следующим шагом я хочу установить случайных черепах в эллипсе (с синими пятнами).Как мне этого добиться?

to setup
  clear-all
  setup-patches
  setup-turtles
  reset-ticks
end

to setup-patches
  ask patches [
    ifelse
      (pxcor ^ 2)/(195.5 ^ 2) + (pycor ^ 2)/(49 ^ 2) < 1 
      [set pcolor blue]
      [set pcolor white]
  ]
end

to setup-turtles
  create-turtles 6
  ask turtles [ 
    set size 10
    set shape "circle"
    if pcolor = blue
      [setxy random-xcor random-ycor]
  ]
end

Большое спасибо!

1 Ответ

0 голосов
/ 28 мая 2018

Когда вы создаете черепах, вы можете перемещать каждого к случайно выбранному синему пятну.

to setup-turtles
  let blue-patches patches with [pcolor = blue]
  create-turtles 6
  [ set size 10
    set shape "circle"
    move-to one-of blue-patches
    setxy xcor - 0.5 + random-float 1 ycor - 0.5 + random-float 1
  ]
end

Обратите внимание, что move-to найдет черепаху в центре заплатки.Таким образом, setxy перемещает его в случайный набор координат в том же патче.Вы можете пропустить эту строку, если это нормально для их центрирования.

В качестве альтернативы, если вам нужно, чтобы все черепахи были на разных участках, вы можете случайным образом выбрать n-of синих пятен и иметь каждый sproutодна черепаха.

...