NetLogo 中移动代理的 ticks 和 death 问题

Problems with ticks and death of mobile agents in NetLogo

我有一个不知道如何解决的问题。我有将以下信息导出到 .csv 文件的代码:

  1. 乌龟的身份
  2. 乌龟所在的小块的 x 坐标
  3. 乌龟所在小块的 y 坐标
  4. 分时编号

但是,如果我有一行代码,蜜蜂在达到一定数量的资源时死亡(例如,当它达到 > = 2 资源时,乌龟死亡。为了简化我放在这里的代码达到 tick >=2 乌龟就死了)。问题是在 tick 2 乌龟死了,最后一个 tick(tick 2)的 pxcor 和 pycor 值没有导出。所以,就像检查海龟时一样,海龟死了,我们看不到最后更新的刻度信息。

有谁知道我怎样才能得到这些信息?

如果我一直无法正确表达自己。我可以重写我的问题或尝试重写简化代码。

提前致谢

to setup
  clear-all
  reset-ticks
  resize-world 0 3 0 3
  ask patches [ sprout 1 [ setup-turtles ] ]
  let pcolors [ ]
  set pcolors [ 1 10 ]
  ask patches [ set pcolor item (random 2) pcolors ]
end

to setup-turtles
  set size 0.5
  pen-down
end

to go
  move
  output
  tick
end


to move
  ask turtles [
    rt random 360
    fd 1
    if ticks >= 2 [ die ]
  ]
end

to output
  file-open "test.csv"
  foreach sort turtles
  [
    t ->
    ask t
    [
     file-print ( word self  " , "  pxcor " , " pycor " , " ticks )
    ]
  ]
  file-print ""  ;; blank line
  file-close
end

此问题的答案已包含在您之前收到的 中。

你必须以一种要求海龟在 die.

之前执行 output 的方式安排命令

例如

if ticks >= 2 [output die]

to go
  move
  tick
end

to move
  ask turtles [
    rt random 360
    fd 1
    output
    it ticks >= 2 [die]
  ]
end

或者你要求你的海龟在你杀死它们之前做一些事情的任何其他安排,因为它们一旦死了就不能做任何事情。