artisoc4でポテンシャル法を用いて災害時の救助シミュレーションモデルを作成しようとしています。Univ_Step_Beginで決まったステップで救急隊エージェントを発生させたいのですが、実行しようとすると「ThenのあとにEndが必要です」というエラーが出てきます。どこにEndが必要か教えていただけますか。
以下はソースコードになります。
Univ_Step_Begin{
Dim ustep As Integer //現在のstep数
ustep = GetCountStep() //現在のステップ数を取得する
// 残りの救急隊エージェントを一定時間毎に2人ずつ配置する
if ((universe.Count_Rescue_Number > 2) and (ustep == 200)) then // 200ステップ経過したら
dim rescue as agt
dim k as integer
for k = 0 to universe.Count_Rescue_Number - 3
rescue= CreateAgt(universe.map.rescue)
// println(j)
do while true // 適切な場所にエージェントが置かれるまでループ
rescue.x = 0 // x座標を救助隊の出口に設定
rescue.y = 7 + Round(Rnd()) // y座標を救助値の出口に設定
// その場所が救助隊の出口で、人もいなければ、ループを抜ける
if universe.map.potential3(rescue.x, rescue.y, 0) == 0 and universe.map.position(rescue.x, rescue.y, 0) == false then
universe.map.position(rescue.x, rescue.y, 0) = true
break
end if
loop
next k
elseif ((universe.Count_Rescue_Number > 4) and (ustep == 400)) then // 400ステップ経過したら
// 残りの救急隊エージェントの生成
dim rescue as agt
dim k as integer
for k = 0 to universe.Count_Rescue_Number - 5
rescue= CreateAgt(universe.map.rescue)
// println(j)
do while true // 適切な場所にエージェントが置かれるまでループ
rescue.x = 0 // x座標を救助隊の出口に設定
rescue.y = 7 + Round(Rnd()) // y座標を救助値の出口に設定
// その場所が救助隊の出口で、人もいなければ、ループを抜ける
if universe.map.potential3(rescue.x, rescue.y, 0) == 0 and universe.map.position(rescue.x, rescue.y, 0) == false then
universe.map.position(rescue.x, rescue.y, 0) = true
break
end if
loop
next k
elseif ((universe.Count_Rescue_Number > 6) and (ustep == 600)) then // 600ステップ経過したら
// 残りの救急隊エージェントの生成
dim rescue as agt
dim k as integer
for k = 0 to universe.Count_Rescue_Number - 7
rescue= CreateAgt(universe.map.rescue)
// println(j)
do while true // 適切な場所にエージェントが置かれるまでループ
rescue.x = 0 // x座標を救助隊の出口に設定
rescue.y = 7 + Round(Rnd()) // y座標を救助値の出口に設定
// その場所が救助隊の出口で、人もいなければ、ループを抜ける
if universe.map.potential3(rescue.x, rescue.y, 0) == 0 and universe.map.position(rescue.x, rescue.y, 0) == false then
universe.map.position(rescue.x, rescue.y, 0) = true
break
end if
loop
next k
elseif ((universe.Count_Rescue_Number > 8) and (ustep == 800)) then // 800ステップ経過したら
// 残りの救急隊エージェントの生成
dim rescue as agt
dim k as integer
for k = 0 to universe.Count_Rescue_Number - 9
rescue= CreateAgt(universe.map.rescue)
// println(j)
do while true // 適切な場所にエージェントが置かれるまでループ
rescue.x = 0 // x座標を救助隊の出口に設定
rescue.y = 7 + Round(Rnd()) // y座標を救助値の出口に設定
// その場所が救助隊の出口で、人もいなければ、ループを抜ける
if universe.map.potential3(rescue.x, rescue.y, 0) == 0 and universe.map.position(rescue.x, rescue.y, 0) == false then
universe.map.position(rescue.x, rescue.y, 0) = true
break
end if
loop
next k
else
// println("何もしません")
// nothing to do
end if
}
モデル一式をzipにまとめて「ファイル追加」していただけますか?