MAS コミュニティ
artisoc質問用掲示板(アーカイブ)
  
質問掲示板は移転しました。新掲示板はこちら

質問 (解決済み)

[artisoc製品関連] artisocが動きません
質問者: koukiさん , 質問日時: 2019/08/26 16:19
ルールエディタにミスがあるのかわからないですけど、配列値に対して演算はできませんとでます。学校のパソコンなどでは、正常に動きます。



▼解決した回答


If文の中の、
Universe.Map.fire.X
や、
Universe.Map.fire.Y
の部分が原因だと思います。
Universe.Map.Fireはエージェントでなくエージェント型なので、XやYといった属性を持ちません。

たとえば、
Universe.Map.Fire(0).X
と書けば、IDが0番のFireエージェントのX座標を参照できます。
Fireエージェントが一つしかないのなら、こう書くとよいでしょう。

以前のバージョンではこうした書き方を許していたので、おそらく学校のPCはバージョンが古いのではないでしょうか。

回答者: tomo12 さん , 回答日時: 2019/09/04 15:28

▼ 全ての回答


エラーが出た行とその周辺のソースコードを見せていただけますでしょうか?

回答者: tomo12 さん , 回答日時: 2019/08/27 09:45
If GetCountStep() == 20 and My.X == Universe.Map.fire.X and My.Y == Universe.Map.fire.Y Then //20ステップ目かつ自身が火エージェントと同じセルにいたら
My.color = RGB( 155, 155, 155 ) //自身の色を変える(2番目に濃い煙になる)
Elseif GetCountStep() == 30 and My.X == Universe.Map.fire.X and My.Y == Universe.Map.fire.Y Then //30ステップ目かつ自身が火エージェントと同じセルにいたら
My.color = RGB( 100, 100, 100 ) //自身の色を変える(一番濃い煙になる)
End if
こんな感じなんですけど

回答者: kouki さん , 回答日時: 2019/09/04 15:16
If文の中の、
Universe.Map.fire.X
や、
Universe.Map.fire.Y
の部分が原因だと思います。
Universe.Map.Fireはエージェントでなくエージェント型なので、XやYといった属性を持ちません。

たとえば、
Universe.Map.Fire(0).X
と書けば、IDが0番のFireエージェントのX座標を参照できます。
Fireエージェントが一つしかないのなら、こう書くとよいでしょう。

以前のバージョンではこうした書き方を許していたので、おそらく学校のPCはバージョンが古いのではないでしょうか。

回答者: tomo12 さん , 回答日時: 2019/09/04 15:28



Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
( 会社情報 情報セキュリティ・個人情報について )