我是相当新的的NetLogo。我试图让我的海龟法不同,这取决于它们的变量,但我得到预期的true / false值运行时错误,但得到0代替。
我已经初始化在不同的程序一对夫妇龟所以不应该有与所请求的变量海龟的任何空agentsets。
to setup-figures
ask n-of 2 citizens
[ get-panicked ]
ask n-of 2 citizens
[ get-alerted ]
ask n-of 2 citizens
[ calm-down ]
end
to flee
ask citizens with [ panicked? ] [
fd 1.1
]
ask citizens with [ alerted? ] [
fd 0.6
]
ask citizens with [ calm? ] [
fd 0.5
]
if [pcolor] of patch-ahead 1 = grey
[collision-check]
end
to get-panicked
set panicked? true
set color red
set mood 19
end
to get-alerted
set alerted? true
set color yellow
set mood 35
end
to calm-down
set calm? true
set color green
set mood 66
end
该ask
原始将着眼于全体公民去寻找那些与(比如说)警告?等于true。但是如果你只初始化一些公民,那些没有初始化将已提醒?设置为零的默认值。零和错误不在的NetLogo一样,所以ask
扼流圈上的公民,其价值惊动?是零,即,在那些没有被初始化。在您的安装开始时,你可以把
ask citizens [
set panicked? false
set alerted? false
set calm? false
]
然后,你可以问你的公民正的成为恐慌,等等,你在你的代码做。