在一个项目中,我创造了例如1000个人。 现在,如果一个概率得到满足,那么我就创造了一条狗,并将他与一个人联系起来。我们走了:
to setup-agents
set-default-shape humans "person"
set-default-shape dogs "default"
create-humans people [
setxy random-xcor random-ycor
set size 1.5
set color green
set sick? false
]
let i 1
while [i <= people] [
ifelse random 100 < 43 [
create-dogs 1 [
set size 0.5
set color green
set sick_dog? false
create-link-from one-of humans [set tie-mode "fixed" tie hide-link]
]
] []
set i i + 1
]
move
end
然后,在创建链接后,我需要访问humasn(has_dog?)的属性并将其设置为true。
humans-own [
has_dog?
sick?
]
我怎么能问这个只是将人类联系起来将他的属性设置为真?
答案 0 :(得分:2)
我在看到这个之前编辑了my answer to your previous question。您可能会在那里找到您所寻找的大部分内容。话虽如此:
你可能不需要一个has_dog?
变量,因为你可以很容易地弄清楚一个人是否有一只带有记者的狗:
to-report has-dog? ; human reporter
report any? out-link-neighbors
end
但您可能仍需要访问狗主人。这是一位记者:
to-report my-owner ; dog reporter
report one-of in-link-neighbors
end
(使用链接使得狗在理论上可以拥有多个所有者,因此表达式中有one-of
。但是模型的设置方式应该永远不会发生。此代码也会报告{{ 1}}如果一只狗没有主人,这是有道理的。)
然后,假设您的人类仍有nobody
变量,您可以这样做:
has_dog?
其他一些快速点: