的NetLogo预计真/假值,但得到0,而不是

问题描述 投票:0回答:1

我是相当新的的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
netlogo
1个回答
1
投票

ask原始将着眼于全体公民去寻找那些与(比如说)警告?等于true。但是如果你只初始化一些公民,那些没有初始化将已提醒?设置为零的默认值。零和错误不在的NetLogo一样,所以ask扼流圈上的公民,其价值惊动?是零,即,在那些没有被初始化。在您的安装开始时,你可以把

ask citizens [
set panicked? false
set alerted? false
set calm? false
]

然后,你可以问你的公民正的成为恐慌,等等,你在你的代码做。

© www.soinside.com 2019 - 2024. All rights reserved.