Search code examples
simulationagentnetlogo

How show few turtles at a time?


I have this basic code for setup and moving turtle. By this time I want only few turtles to appear during setup and then when they move. Other turtles will show or will become visible.

to setup
crt 100
setxy random 19 random 80
end

to go
fd 1
end

I tried this. But I got error

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

Solution

  • Your question is not that clear, if you want to be able to set visibility of turtles you should use hidden? Primitive to set visibility of turtles, Following example shows how turtles appear when their who id is smaller than ticks, in tick 101 all turtles will be visible.

    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
    

    After 1 tick only one turtle is visible:

    enter image description here

    And now 40 turtles are visible :

    enter image description here

    Update:

    In this example, you can have a list of numbers that you want to ask turtles to set their visibility to 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