NetLogo:计算自身与其他代理之间的距离

时间:2018-09-05 19:23:29

标签: netlogo

您好:我正在使用Netlogo,希望代理商计算他们自己与他们之前选择的另一个代理商之间的距离。我不断收到“期望字面值”的错误。下面的代码。助手说,这个距离的记者“距离 agent :报告从这个agent到给定的乌龟或斑块的距离。”自从我早先定义“邻居”以来,我就不知道出了什么问题。衷心感谢您的帮助。

turtles-own [
  myneighbor                                 ;; closest other male frog to myself
  mycall                                     ;; the amplitude (loudness) of my own call
  myminthresh                                ;; when my neighbor's call is below this threshold, I move toward him
  mymaxthresh                                ;; when my neighbor's call is above this threshold, I move away from him
  myNND                                      ;; the distance to my nearest neighbor
  settle?                                    ;; true if male decides to create a territory and stop moving
 ]

to setup
  clear-all
  create-turtles population [                         ;; use the population slider to choose number of males

    set size 1.5                                      ;; easy to see but is it actual agent size or just agent image size?
    setxy random-xcor random-ycor                     ;; distribute frogs randomly in the landscape

    set mycall random 100                             ;; choose the amplitude of my own call from a random distribution 0 to 100
    set color scale-color red mycall 0 100            ;; allows easy visualization of variability in call amplitude
                                                      ;; lighter color is a higher amplitude
    set myminthresh inputminthresh                    ;; use the input on interface to set the min-threshold
    set mymaxthresh inputmaxthresh                    ;; use the input on the interface to set the max-threshold
    set myNND 0                                       ;; initialize nearest neighbor distance for all

  ]

  reset-ticks

end

to go
  choose-neighbors
  move-turtles
  tick
end

to choose-neighbors
   ask turtles [
    set myneighbor min-one-of other turtles [distance myself]  ;; choose my nearest neighbor based on distance
    set myNND  [ distance myneighbor ]
  ]
end

to move-turtles
  ask turtles [
    face myneighbor
    ;;set heading (random 360)
    fd 5
    pendown
  ]
end

1 个答案:

答案 0 :(得分:2)

问题行是:

set myNND [ distance myneighbor ]

将其更改为:

set myNND distance myneighbor

NetLogo的[]约定可能有些晦涩。