レシピブック05を参考にモデル作成をしております.
特定の座標に到達したエージェントのレイヤー間の移動を行いたいのですが,
以下のルール記述では,正常に動作されません.
if self.layer == 1:
if goal_flag:
self.layer == self.layer - 1
self.x == rand() 3 + 120 and self.y == rand() 3 + 53
if self.layer == 0:
if goal_flag:
Universe.count_goal_person += 1
Universe.map.stay[int(self.x), int(self.y), self.layer] -= 1
del_agt(self)
print('step=', count_step(), '到着人数', Universe.count_goal_person)
return
また,エージェントの表示色が非常に薄く見えにくい,レイヤー0のマップが真っ黒で正常に表示されないということが起こります.
以下がそのモデルファイルです.改善点をご教授ください.よろしくお願いいたします.
1Fと2Fをつないで計算とは具体的にどういうことでしょうか。
無知で申し訳ございません。
pythonの文法として、
値の代入は
A=B
if文の比較式は
if A==B:
と記入します。
ルールの中で「=」と「==」が間違って記述されている箇所があるようなので
修正ください。
Universeルールのfile_read_property関数にて、
one_layer = 0
one_layer = 1
のあとにfor文で Universe.map.property を初期化していますが、
one_layer = 1
のみ代入されているため、property1の出力画面が初期化されていないのが
原因だと思います。
階別にproperty1F.csv、property2F.csvを定義し、それぞれ初期化をすればよいと思います。