だんごチェック
そして昨日作った(といっても、今日手直しした)サブルーチンを更に手直し。
自分でもちょっと混乱するものになってしまった。
マップコマンド だんごチェック関数起動: Call だんごチェック Exit だんごチェック: Local Select_UnitID Local 出撃味方数 Local Chain_UnitNum UnSet チェック済 ForEach 味方 出撃 Select_UnitID = 対象ユニットID Incr 出撃味方数 Next Talk システム 全出撃ユニット$(出撃味方数)、$(Select_UnitID)が連鎖のスタート End Chain_UnitNum = Check_Chain(Select_UnitID,Chain_UnitNum) Talk システム 全出撃ユニット$(出撃味方数)の内、$(Chain_UnitNum)機がだんご状態にあります End Return Check_Chain: Local Chain_UnitNum = Args(2) + 1 Local Select_UnitID Incr チェック済[Args(1)] # Args(1)の右側 Select_UnitID = Info(マップ,(X(Args(1)) + 1),Y(Args(1)),ユニットID) If (チェック済[Select_UnitID] = 0) And (Party(Select_UnitID) = "味方") Then Chain_UnitNum = Check_Chain(Select_UnitID,Chain_UnitNum) EndIf # Args(1)の左側 Select_UnitID = Info(マップ,(X(Args(1)) - 1),Y(Args(1)),ユニットID) If (チェック済[Select_UnitID] = 0) And (Party(Select_UnitID) = "味方") Then Chain_UnitNum = Check_Chain(Select_UnitID,Chain_UnitNum) EndIf # Args(1)の上側 Select_UnitID = Info(マップ,X(Args(1)),(Y(Args(1)) - 1),ユニットID) If (チェック済[Select_UnitID] = 0) And (Party(Select_UnitID) = "味方") Then Chain_UnitNum = Check_Chain(Select_UnitID,Chain_UnitNum) EndIf # Args(1)の下側 Select_UnitID = Info(マップ,X(Args(1)),(Y(Args(1)) + 1),ユニットID) If (チェック済[Select_UnitID] = 0) And (Party(Select_UnitID) = "味方") Then Chain_UnitNum = Check_Chain(Select_UnitID,Chain_UnitNum) EndIf Return Chain_UnitNum
※1/14 15:04 If文に無駄な条件までかませてたのを修正
しかしやはり気にしないでおk(ry