如何'track'一只乌龟?

How to 'track' a turtle?

我想追踪一只按如下方式创建的海龟:

要追踪的乌龟是 object。我考虑过访问 path/link 或更改创建的海龟的颜色(例如,询问 this-object [设置颜色红色]),但我隐藏了海龟,所以它没有意义。 你知道我如何在网络中追踪这只乌龟的路径吗? (你可以想象一辆发生事故的汽车,但是 driver 没有停下来,继续行驶并且它又发生了新的事故...... 如果可能的话,我想追踪的不仅是事故,还有造成事故的汽车。

希望你能帮助我。 谢谢

您现在已经以略有不同的方式问了至少 10 次本质上相同的问题。很明显 none 的答案已经回答了你的问题,但也很明显你没有理解任何答案。虽然我通常会要求您 post 到目前为止您尝试过什么,但最好从头开始。

这是一个完整的模型,可以满足您的需求。我在关键点放置了 print 语句,以便您可以看到它做了您想要的。

breed [people person]
people-own
[ my-objects
]

breed [objects object]
objects-own
[ my-people
]

to setup
  clear-all
  create-people 5
  [ setxy random-xcor random-ycor
    set color red
    set my-objects []
  ]
  ask one-of people
  [ hatch-objects 1
    [ set color blue
      set my-people (list myself)
      let child self
      ask myself [ set my-objects (list child) ]
    ]
  ]
  reset-ticks
end

to go
  ask one-of objects [move-object]
  tick
end

to move-object
  let target one-of people
  while [target = first my-people] [set target one-of people]
  let this-object self
  ask target
  [ type self type " Objects old: " print my-objects
    set my-objects fput this-object my-objects
    type self type " Objects new: " print my-objects
  ]
  type self type " Owners old: " print my-people
  set my-people fput target my-people
  move-to target
  type self type " Owners new: " print my-people
end

如果你想在你的代码上取得任何进展,你需要先完全理解这个模型。不要只是将相关位复制到您的代码中并尝试修改。相反,为这段代码创建一个新的 NetLogo 模型并理解每一行——它做了什么,它是如何工作的。一旦你理解了它,你就可以在你自己的模型中使用这些概念和方法。