在Netlogo网络中,海龟如何;见;其他海龟的特性?

在Netlogo网络中,海龟如何;见;其他海龟的特性?,netlogo,Netlogo,我正在尝试建立一个模型,在这个模型中,海龟会根据它们在网络中的环境而改变颜色 方法是“检查”周围海龟的颜色,然后设置一个if语句,让相关海龟切换颜色(只有两种颜色) 具体地说,我想知道海龟如何“看到”或检查其他海龟的颜色(或其他属性) 如果可能的话,我还想创建一个滑块“有多少链接”海龟可以看到他们的邻居海龟(或邻居的邻居,等等)的颜色 我对Netlogo和Stackoverflow都是新手,所以请告诉我是否应该对我的模型和/或问题进行任何修改 谢谢 卡洛斯欢迎来到Stack Overflow!通

我正在尝试建立一个模型,在这个模型中,海龟会根据它们在网络中的环境而改变颜色

方法是“检查”周围海龟的颜色,然后设置一个if语句,让相关海龟切换颜色(只有两种颜色)

具体地说,我想知道海龟如何“看到”或检查其他海龟的颜色(或其他属性)

如果可能的话,我还想创建一个滑块“有多少链接”海龟可以看到他们的邻居海龟(或邻居的邻居,等等)的颜色

我对Netlogo和Stackoverflow都是新手,所以请告诉我是否应该对我的模型和/或问题进行任何修改

谢谢


卡洛斯

欢迎来到Stack Overflow!通常情况下,您希望每篇文章只回答一个问题,这既简单又有利于将来有类似问题的用户。同样,在适用的情况下,您应该尝试包含一些代码,以显示您迄今为止所尝试的内容,以及任何必要的设置—您希望进行一次测试。在这种情况下,我认为你没问题,因为你的问题很清楚,解释得很好,但是如果你将来有更复杂的问题,你将更有可能通过遵循这些指导原则得到有用的答案

对于您的第一个问题,您似乎需要原语的
——请查看以了解详细信息<可以以几种方式使用
的code>,包括允许代理检查另一个代理的变量(如颜色)的值。查看以下示例代码:

to setup
  ca
  reset-ticks
  crt 10 [
    setxy random 30 - 15 random 30 - 15
    create-link-with one-of other turtles
  ]
end

to go
  ask turtles [
    set color [color] of one-of link-neighbors
  ]
end
每次调用
go
过程时,其中一只海龟会将其颜色更改为其
链接邻居之一的颜色。如果你运行它足够长的时间,所有连接的海龟应该以相同的颜色结束

对于第二个问题,我建议您查看,这是一个扩展,用于更轻松地处理Netlogo网络。具体来说,看一看,这应该与您的滑块方法一起工作。要使其正常工作,请使用

extensions[nw]

在代码的开头。然后,假设与上面相同的设置,您可以使用

to network-radius
  ask one-of turtles [
    set color red
    ask other nw:turtles-in-radius 2 [
      set color white
    ]
  ]
end
当您调用上面的
网络半径
过程时,您应该会看到一只海龟变红,而该海龟2个链接内的任何海龟都会变白。要切换到滑块,只需将滑块变量的“2”调出即可。希望有帮助