避難シミュレーションについて
現在、避難シミュレーションを作成しています。20×17のセル空間を教室とし、(0,8)のセルを出口に設定しています。出口までの距離は出口とのx座標、y座標の差の絶対値の和とし、空間変数cellで表しています(例えば(3,10)の距離は5)。人エージェントがいるセルとの上下左右のセルの空間変数を比べることで出口まで移動させたいのですが、「配列値に対して、演算はできません。」というエラーが出てしまっているのですが、どこがエラーの原因なのでしょうか? // 周囲のセルの数字を読み取る処理 Dim minIndex as Integer Dim i as Integer Dim j as Integer Universe.classroom.tmp(0) = Universe.classroom.cell(My.X, My.Y) // 0 Universe.classroom.tmp(1) = Universe.classroom.cell(My.X+1, My.Y) // 1 Universe.classroom.tmp(2) = Universe.classroom.cell(My.X, My.Y+1) // 2 Universe.classroom.tmp(3) = Universe.classroom.cell(My.X-1, My.Y) // 3 Universe.classroom.tmp(4) = Universe.classroom.cell(My.X, My.Y-1) // 4 minIndex = 0 for i = 1 To 4 If Universe.classroom.tmp(minIndex) > Universe.classroom.tmp(i) then minIndex = i end If Next i for j = 0 To 4 If Universe.classroom.tmp(minIndex) == Universe.classroom.tmp(j) then If Rnd() > 0.5 then minindex = j End if End if Next j
現在、避難シミュレーションを作成しています。20×17のセル空間を教室とし、(0,8)のセルを出口に設定しています。出口までの距離は出口とのx座標、y座標の差の絶対値の和とし、空間変数cellで表しています(例えば(3,10)の距離は5)。人エージェントがいるセルとの上下左右のセルの空間変数を比べることで出口まで移動させたいのですが、「配列値に対して、演算はできません。」というエラーが出てしまっているのですが、どこがエラーの原因なのでしょうか? // 周囲のセルの数字を読み取る処理 Dim minIndex as Integer Dim i as Integer Dim j as Integer Universe.classroom.tmp(0) = Universe.classroom.cell(My.X, My.Y) // 0 Universe.classroom.tmp(1) = Universe.classroom.cell(My.X+1, My.Y) // 1 Universe.classroom.tmp(2) = Universe.classroom.cell(My.X, My.Y+1) // 2 Universe.classroom.tmp(3) = Universe.classroom.cell(My.X-1, My.Y) // 3 Universe.classroom.tmp(4) = Universe.classroom.cell(My.X, My.Y-1) // 4 minIndex = 0 for i = 1 To 4 If Universe.classroom.tmp(minIndex) > Universe.classroom.tmp(i) then minIndex = i end If Next i for j = 0 To 4 If Universe.classroom.tmp(minIndex) == Universe.classroom.tmp(j) then If Rnd() > 0.5 then minindex = j End if End if Next j
