如何一次显示几只乌龟?

时间:2014-01-13 14:51:26

标签: simulation agent netlogo

我有这个基本代码用于设置和移动乌龟。 到这个时候,我想在安装过程中只出现几只海龟,然后在它们移动时出现。其他海龟将显示或将变得可见。

to setup
crt 100
setxy random 19 random 80
end

to go
fd 1
end

我试过这个。但是我收到了错误

to setup
  clear-all
  create-turtles random 10
  reset-ticks
end

to go
  fd 1
  if count turtles < 100 [
    create-turtles min list (random 10) (100 - count turtles)
  ]
  tick
end

2 个答案:

答案 0 :(得分:1)

你的问题不是那么清楚,如果你想设置你应该隐藏的海龟的可见性吗?设定龟的能见度的原始物, 下面的例子显示了当他们的id小于蜱时龟是如何出现的,在蜱101中,所有的龟都可见。

to setup
  clear-all
  reset-ticks
  crt 100 [
    set hidden? true
    setxy random 19 random 80
  ]


end

to go
  ask turtles
  [
    if who < ticks
    [
      set hidden? false
      fd 1
    ]
    ]

  ask patch 0 0 [set plabel ticks] ; just for your info
  ask patch 1 1 [set plabel "Ticks"] ; just for your info
  tick
end

在1滴后,只能看到一只乌龟:

enter image description here

现在可以看到40只乌龟:

enter image description here

<强>更新

在此示例中,您可以拥有一个要让海龟将其可见性设置为true的数字列表:

globals [ number-to-set-visible]
to setup
  clear-all
  reset-ticks
  set number-to-set-visible [ 5 5 7 8 2  ]
  crt 100 [
    set hidden? true
    setxy random 19 random 80
  ]


end

to go
  if visibility-condition and length number-to-set-visible > 0 

    [
      ask n-of item 0 number-to-set-visible turtles [

        set hidden? false
        ]

      set number-to-set-visible remove-item 0 number-to-set-visible
      ] 

     ask turtles with [not hidden? ]
     [
      fd 1

     ]


  tick
end

to-report visibility-condition
 report ticks mod 100 = 0 and ticks > 0
end

答案 1 :(得分:1)

Marzy的回答介绍了如何在setup期间创建隐形龟,然后在go期间逐渐显示它们。

我不清楚你是否真的需要这种可见/不可见的区别。你真的需要从一开始就存在所有的海龟吗?可能只需要创建几个海龟?如果是这样,请尝试这样的代码:

to setup
  clear-all
  create-turtles random 10
  reset-ticks
end

to go
  if count turtles < 100 [
    create-turtles min list (random 10) (100 - count turtles)
  ]
  tick
end