如何让乌龟“属于”补丁

时间:2020-01-09 21:47:08

标签: netlogo

我对Netlogo还是陌生的,并且正在用缓存动物来编码一个世界。如果它们的能量值低于10,它们将进入其缓存(我将其设置为蓝色斑块)。他们可以根据给它们的随机“内存”值(用作半径值)找到这些缓存。这样,如果他们即将死亡,他们将面对并进入其半径内存中的缓存。我开始合并一个基于家庭的系统,在该系统中,乌龟会保留在较小的区域中并拥有自己的缓存。有谁知道我如何制作补丁属于单个乌龟?这将允许海龟在其领土内拥有其特定的缓存。我已经研究了使用链接和品种的方法,但是链接仅在海龟之间使用,并且一次使50只以上的海龟的单个品种显得无效且复杂。抱歉,我没有任何代码试图让缓存(补丁)属于龟,我不知道从哪里开始。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果您希望乌龟记住任何东西(斑块,收入或其他任何东西),则需要在turtles-own语句中分配一个变量,然后在set中适当地赋值。这是一些示例代码片段。它们将不起作用,您的实际代码可能看起来会大不相同,因为您需要对分配缓存的条件进行一些设计,但它们会向您显示可变解决方案的外观。

turtles-own
[ my-caches
]

set my-caches (patch-set my-caches patch-here)  ; code when a turtle finds a new cache site

如果您想使属于某个乌龟的补丁程序无法使该补丁程序对其他乌龟使用,则还可以设置一个补丁程序变量来存储其所有者。

patches-own
[ my-owner
]

ask turtles
  [ if [my-owner] of patch-here = nobody [set my-caches (patch-set my-caches patch-here)]
    ask patch-here [set my-owner myself]
  ]

我建议您先做几本NetLogo教程,然后再看一些库模型(并理解它们),然后再开始自己的模型。在尝试构建模型之前,您需要了解一些基本概念,例如海龟/补丁,变量,壁虱。

相关问题