【问题标题】:NetLogo static turtleNetLogo 静态乌龟
【发布时间】:2017-03-24 18:34:40
【问题描述】:

我是 NetLogo 的新人,我一直在为学校完成这项任务,但我似乎无法找到一个问题的答案。如果之前在其他地方已经回答过这个问题,我深表歉意。

我正在尝试制作两只乌龟。一只乌龟必须在该区域周围移动,直到找到第二只乌龟,而第二只乌龟则保持静止。我一直在尝试不同的东西,甚至习惯于等待时间,但它对两只乌龟都有效,这不是我想要的。

如何将代码仅应用于两只海龟中的一只?我如何让那只乌龟保持在一个位置?

感谢您的帮助!

【问题讨论】:

  • 你能用不同的breeds吗?
  • 即使我总共只有 2 只海龟,这是否可行?我怎样才能让其中一个留在原地,而另一个则四处走动?

标签: netlogo


【解决方案1】:

回复您的评论 - 是的,如果您愿意,它适用于任意数量的海龟。例如:

breed [seekers seeker]
breed [waiters waiter]

to setup 
  ca
  reset-ticks
  create-seekers 1 [
    setxy random 30 - 15 random 30 - 15 
  ]
  create-waiters 1 [
    set shape "circle"
  ]
end

to go

  ask seekers [ 
    if not any? waiters in-radius 1 [
      rt one-of [ 90 0 -90]
      fd 1 
    ]
  ]
  tick
end

如果您需要它们在您的模型中是相同的品种,您可以分配turtles-own 变量来按您喜欢的方式对它们进行排序。

【讨论】:

  • 非常感谢!有什么办法可以让服务员的位置在我每次设置模拟的时候也随机?
  • 你打赌。尝试将setxy... 行从create-seekers 块复制到create-waiters 块中。应该这样做!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多