現在people エージェントが自分の好みと合うart及びart2を探すモデルを作っています。
そこでpeople、 art 、art2にtrait 変数を追加して1〜4の値を持たせました。
people は自分と同じ数値を持つartを見つけた場合のみMy.speedを0にするというルールを書きました。(以下参照)
//アートの好みが自分と合うか判断
If My.trait==Universe.eria.art.trait or My.trait==Universe.eria.art2.trait Then
My.speed=0
Else
Forward(My.speed)
End if
これを書くと、「配列値に対して演算ができません」となってしまいます。
どのように変更すれば理想通りに動くようになるのでしょうか?
念のためモデルを添付しておきます。
よろしくお願いします。
Universe.eria.art.trait という記述に問題があると思います。
にて、Universe.eria.artはエージェントなので、複数あるartのうち、どのartなのかを指定する必要があります。
その前段のルールで
MakeOneAgtsetAroundOwn(My.art, 10, Universe.eria.art, False)
・・・
one=getAgt(My.art, 0)
として、1つのartをoneに代入しているので、
If My.trait==one.trait Then
と記述するとよいと思います。