P46 4.20 発展問題(2)で詰まってしまいました。
■ 鳥の認識できる範囲を操作できるようにする。
視野の広さを表す変数をUniverseに追加し、コントロールパネルで操作できるようにする
make_agtset_around_own関数でそれを用いる。
という事で、エージェントのルール設定に、
shiya = Universe.shiya
tori_set = self.make_agtset_around_own(shiya, False)
を指定すると動作しました。
Universeのルール設定では、変数'shiya'について何も書かないで良いのでしょうか?
Universeの変数なのに、エージェントのルールでいきなり呼び出せる事にすこし引っかかりました。
Universeに変数shiyaを追加し、
エージェントのルールに下記の通り書いた場合、
shiya = Universe.shiya
tori_set = self.make_agtset_around_own(shiya, False)
shinyaとUniverse.shiyaは別の変数になります。
ゆえに、
shiya = Universe.shiya
はUniverse.shiyaの値をshiyaに代入しています。
なお、Universe変数はuniv_initもしくはコントロールパネルで
初期化することをおすすめします。