Netlogo: Set specific setxy patern with set number of turtles?

假装没事ソ 提交于 2019-12-11 04:39:57

问题


Is it possible to create a set number of turtles, from a file, to have their own patches? Like always be in the same location?

I've got 106 turtles I'm reading in from a file and I was hoping to have them be created on their own patches, like a square latice kind of thing. I want to be able to look at the model world and easily identify a turtle.

file-open "turtledata_A.txt"
show file-read-line
while [not file-at-end?] 
[
set param read-from-string (word "[" file-read-line "]")
create-turtles 1 [setxy ??]
]
file-close 
]

回答1:


Probably easiest to use the csv extension and just add xy data to the file you're reading in. For example, if you have a turtle_data.csv file that looks like:

param-to-read,x,y
John,-10,10
Billy,-5,5
Bob,0,0
Simon,5,-5
Michael,10,-10

You can do:

extensions [ csv ]

turtles-own [ param ]

to setup
  ca
  reset-ticks
  file-close-all
  file-open "turtle_data.csv"

  ;; read the headings line in to skip it for data extraction
  let headings csv:from-row file-read-line

  while [ not file-at-end? ] [
    let data csv:from-row file-read-line
    create-turtles 1 [
      set param item 0 data
      setxy item 1 data item 2 data
    ]
  ]

  file-close-all
end

which would give you something like:

Then you can modify the x and y values in your .csv file to place your turtles where you want them. Would that work?

Of course, you can add other columns in the .csv file (like color, size, shape, etc) that will help you identify turtles at a glance.



来源:https://stackoverflow.com/questions/45361848/netlogo-set-specific-setxy-patern-with-set-number-of-turtles

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!