If (X(対象ユニットID) - X(相手ユニットID)) > 0 Then For i = X(対象ユニットID) To X(相手ユニットID) Step -1 If (Y(対象ユニットID - Y(相手ユニットID)) > 0 Then For j = Y(対象ユニットID) To Y(相手ユニットID) Step -1 If Info(マップ, i, j, 地形名) = "壁" Then 〜〜〜(←適当な処理) Break Endif Next Else For j = Y(対象ユニットID) To Y(相手ユニットID) Step -1 If Info(マップ, i, j, 地形名) = "壁" Then 〜〜〜(←適当な処理) Break Endif Next Endif Next Else 割愛 Endif
例えば対象ユニットの座標が(3,3)で相手ユニットの座標が(1,1)の場合 For i = 3 To 1 Step -1 For j = 3 To 1 Step -1 If Info(マップ, i, j, 地形名) = "壁" Then 〜〜〜(←適当な処理) Break Endif Next Next が実行される。
RandomRide: Local UC i Set i 0 ForEach 味方 待機 If CountPilot() = 0 Then Incr i 1 Set UC[i] UnitID() EndIf Next If i > 0 Then Ride Args(1) UC[Random(i)] EndIf Return