質問 (解決済み)[artisocモデル] 配列インデックスと配列のサイズについて | |
質問者: kentaroさん , 質問日時: 2019/10/31 14:27 |
空間の大きさ50×50でT字路の避難モデルを作っています。 Agt_Init{ My.X = 49 My.Y = 25 }
Agt_Step{ Dim min_x As Integer Dim min_y As Integer Dim min_p As Integer
//出口に着いたら消滅する If Universe.Building.potrntial(My.X, My.Y, 0) == 0 then DelAgt(My) End If
//周囲のセルを調べ、最もポテンシャルの低いセルを記憶する min_p = 99 min_x = My.X min_y = My.Y
//現在地のセル If Universe.Building.potrntial(My.X, My.Y, 0) < min_p Then min_p = Universe.Building.potrntial(My.X, My.Y, 0) min_x = My.X min_y = My.Y End If
//右のセル If Universe.Building.potrntial(My.X, My.Y + 1, 0) < min_p Then min_p = Universe.Building.potrntial(My.X, My.Y + 1, 0) min_x = My.X min_y = My.Y + 1 End If
//左のセル If Universe.Building.potrntial(My.X, My.Y - 1, 0) < min_p Then min_p = Universe.Building.potrntial(My.X, My.Y - 1, 0) min_x = My.X min_y = My.Y- 1 End If
//上のセル If Universe.Building.potrntial(My.X - 1,My.Y, 0) <min_p Then min_p = Universe.Building.potrntial(My.X - 1,My.Y, 0) min_x = My.X - 1 min_y = My.Y End If
//下のセル If Universe.Building.potrntial(My.X + 1,My.Y, 0) <min_p Then min_p = Universe.Building.potrntial(My.X + 1,My.Y, 0) min_x = My.X + 1 min_y = My.Y End If
//ポテンシャルの低いセルに移動 My.X = min_x My.Y = min_y
personエージェントに上のルールを書き込むと、配列インデックス(=2525)が配列のサイズ(=2500)を超えています。というエラーが出ます。 なぜこのエラーが出るのか、どうしたら解決できるのかわかりません。 わかるかたがいれば教えていただきたいです。よろしくお願いいたします。
|
|
▼解決した回答
▼ 全ての回答
|
|