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

質問 (解決済み)

[artisocモデル] エージェントの生成について
質問者: mikuさん , 質問日時: 2019/12/30 01:21
my.direction=0で進むCarエージェントが、X座標60以内に1台もいなければ、(0,0)にCarエージェントを1台生成する というプログラムはどのように書けばいいでしょうか?



▼解決した回答


各Carエージェントが自分のX座標が60以下かどうか判定させて、そうであれば、Universeの変数をインクリメントし、Universeの最後にその値が0であれば、1台作成するのが良いと思います。なお、以下に例を示しますが、基本的な質問が多いようですので、『人工社会構築指南』できっちり勉強してください。

Carエージェントのルール
If My.X < 60 Then
 Universe.車の数 = Universe.車の数+1
End if

Universe Endのルール
Dim NewCar As Agt
If Universe.車の数 == 0 Then
 NewCar = CreateAgt(Universe.空間.Car)
 NewCar.X = 0
 NewCar.Y = 0
 NewCar.Direction = 0
End if
Universe.車の数 = 0 //最後に初期化する

回答者: igaguri さん , 回答日時: 2019/12/31 11:49

▼ 全ての回答


各Carエージェントが自分のX座標が60以下かどうか判定させて、そうであれば、Universeの変数をインクリメントし、Universeの最後にその値が0であれば、1台作成するのが良いと思います。なお、以下に例を示しますが、基本的な質問が多いようですので、『人工社会構築指南』できっちり勉強してください。

Carエージェントのルール
If My.X < 60 Then
 Universe.車の数 = Universe.車の数+1
End if

Universe Endのルール
Dim NewCar As Agt
If Universe.車の数 == 0 Then
 NewCar = CreateAgt(Universe.空間.Car)
 NewCar.X = 0
 NewCar.Y = 0
 NewCar.Direction = 0
End if
Universe.車の数 = 0 //最後に初期化する

回答者: igaguri さん , 回答日時: 2019/12/31 11:49



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