乌龟的鉴别方法
How to identify a turtle
如何识别乌龟以便我可以要求它做某事。
例如
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?.
但这似乎是在浪费内存。
你是怎么做到的?
我相信您希望使用 turtle 的 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]
mattsap 是正确的,您可能正在寻找 who
turtle 属性。然而,如果您发现自己使用 who
数字,您通常应该重新考虑您在 NetLogo 中的方法。直接使用 agentsets
而不是依赖标识符几乎总是更好。
看看这个完整的模型。你会看到我只是在需要时将乌龟称为 'turtle-star'。
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
但是如果你需要 turtle-star 跨过程存在,你要么需要一个全局变量(并使用 set
而不是 let
)来存储海龟(而不是它的编号)或者您需要将标志作为 turtles-own
属性的建议。
如何识别乌龟以便我可以要求它做某事。
例如
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?.
但这似乎是在浪费内存。
你是怎么做到的?
我相信您希望使用 turtle 的 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]
mattsap 是正确的,您可能正在寻找 who
turtle 属性。然而,如果您发现自己使用 who
数字,您通常应该重新考虑您在 NetLogo 中的方法。直接使用 agentsets
而不是依赖标识符几乎总是更好。
看看这个完整的模型。你会看到我只是在需要时将乌龟称为 'turtle-star'。
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
但是如果你需要 turtle-star 跨过程存在,你要么需要一个全局变量(并使用 set
而不是 let
)来存储海龟(而不是它的编号)或者您需要将标志作为 turtles-own
属性的建议。