Netlogo:从代理中提取信息



在本例中,dogs是品种的名称。我想根据AAA的属性执行不同的任务。例如,如果它具有大小属性,则大小>当大小<=10[执行任务2]等。如何提取AAA的属性?

let AAA one-of dogs-here
if AAA != nobody [
]

您可以这样做:

ask one-of dogs-here
[ if AAA > 10 
[ forward 1
]
]

但重要的是要理解为什么这是有效的,这就是NetLogo所说的";上下文";。当您说出ask one-of dogs-here [并打开方括号时,您正在将上下文更改为选定的狗。从某种意义上说,计算机现在正从狗的角度出发,而那只狗现在是"狗";我"(或者实际上是NetLogo中的self(,并且以下命令适用于特定的狗。

如果您想提取有关其他代理的信息,则可以使用of,例如:if [AAA] of turtle 0 > 10。。。。

最新更新