Netlogo如何在椭圆中随机播种海龟?

时间:2018-05-28 14:57:38

标签: netlogo

我是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 :(得分:1)

在创建海龟时,您可以将每个海龟移动到随机选择的蓝色补丁中。

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一只乌龟。