如何识别乌龟,以便我要求它做某事。
例如
create-turtles 3
set turtle-star one-of turtles
ask turtles[ if turtle != turtle-star [make-other-turtles-but-turtle-star-do-some-dirty-things]]
这是可能的吗,例如数字或其他特有的属性,例如:
idTurtle
或者我怎么区分乌龟。
我想我可以致敬
IsTurtleStar?.
但这似乎是对内存的浪费。
你如何做到的?
答案 0 :(得分:2)
mattsap是正确的,您可能正在寻找who
turtle属性。但是,如果发现自己使用who
数字,则通常应重新考虑NetLogo中的方法。直接使用agentsets
胜过依赖标识符几乎总是更好的选择。
看看这个完整的模型。您会看到,只要需要它,我就将其简称为“海龟星”。
to testme
clear-all
create-turtles 3
[ setxy random-xcor random-ycor
set color blue
]
let turtle-star one-of turtles
ask turtle-star [ set size 3 ]
ask turtle-star
[ ask other turtles
[ set color red
]
]
end
但是,如果您需要在所有过程中都存在乌龟星号,则需要一个全局变量(并使用set
而不是let
)来存储乌龟(而不是谁的编号),或者需要您建议将标记作为turtles-own
属性。
答案 1 :(得分:0)
我相信您正在寻找使用乌龟的who(turtle变量),这是唯一的标识符。
所以,按照您的说法:
create-turtles 3
set turtle-star [who] of one-of turtles
ask turtles with [who != turtle-star][make-other-turtles-but-turtle-star-do-some-dirty-things]