質問 (解決済み)[artisocモデル] Agt_Initでのif構文での場合分けは可能か | |
質問者: tentenさん , 質問日時: 2020/12/10 09:18 |
エージェント(消費者)の種類をUniv_Initで以下のように、2種類生成します。 その際、Agt_Initではその2種類についてif構文で以下のように場合分けをして初期設定を行いたいのですが、if構文のところが動作していないことがわかりました。 Agt_Initではif構文は使えないのでしょうか。
Univ_Init{ DIm i As Integer Dim one AS Agt Dim consumer As Agtset
//消費者の誕生 For i = 0 To Universe.消費者数 - 1 one = CreateAgt(Universe.二次元空間.consumer) If Rnd() < 0.319 Then //31.9%の確率で食経験あり,繰り返し消費なし one.experience = Color_Red Else one.experience = Color_Black //68.1%は食経験なし End if Next i }
Agt_Init{ My.info3 = 0 My.意識 = Rnd() * 2 - 1 My.年代 =CInt( Rnd() * 5) //20代;1ー60代以上;5 My.能動的回数 = 0 My.受動的回数 = 0 ClearAgtset(My.target)
//ここから下が動いてない If My.experience == Color_Red Then My.info1 = RNd() * 1 + 1 My.info2 = Rnd() * 2 - 1 My.視野 = Rnd() * 1 + 10 My.attitude =0.5 * (My.info1 + My.info2 + My.info3 + My.意識) //検討 My.効用 = (0.247 * CDbl(My.info3) + 0.305 * CDbl(My.能動的回数) + 0.680 * CDbl(My.受動的回数) + 0.400 * (My.年代) -3.011) Elseif My.experience == Color_Cyan Then My.info1 = Rnd() * 4 - 3 My.info2 = Rnd() * 4 - 3 My.attitude =0.1 * (My.info1 + My.info2 + My.info3 + My.意識) My.視野 = Rnd() * 1 End if }
|
|
▼解決した回答
▼ 全ての回答
|
|