【问题标题】:NetLogo - Getting the 'who' of another turtle in the same patchNetLogo - 在同一个补丁中获取另一只乌龟的“谁”
【发布时间】:2016-12-06 14:24:54
【问题描述】:

我正在寻找与另一个海龟占据相同补丁的海龟的“谁”/海龟 ID,然后将其作为一个项目添加到两个海龟的列表中。

例如,假设乌龟 A 和乌龟 B 在同一个补丁上,我想将乌龟 A 的人物存储在乌龟 B 的列表中,并将乌龟 B 的人物存储在乌龟 A 的列表中。

我意识到这可能是一件微不足道的事情,所以我尝试使用以下代码来做到这一点:

  if not any? turtles-on neighbors[
    if who != who[
      set collision-list fput (list (who)) collision-list
    ]
  ]

在这里,我正在检查补丁以查看它是否包含另一只海龟,如果包含,那么我正在尝试存储谁(使用条件来判断谁与当前谁不同)以及是否不是,然后将其存储在每个代理的冲突列表中。

【问题讨论】:

  • 你知道你可以把海龟自己放在你的列表中吗?有理由不这样做吗?

标签: netlogo


【解决方案1】:

通常使用who 数字而不是海龟本身是错误的。因此,我将说明如何增加海龟的“碰撞列表”。

turtles-own [clist]
to setup
  ca
  crt 100 [
    setxy random-xcor random-ycor
    set clist []
  ]
  ask turtles [adjust-clist]
end

to adjust-clist ;turtle proc
  let _ts [self] of (other turtles-here)
  set clist (sentence _ts clist)
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    相关资源
    最近更新 更多