したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

新・くだらない質問にもマジレスするスレ3

203名無しさん(ザコ):2014/02/02(日) 23:43:05 ID:4PpfJgkA0
重さとかセーブデータとか気にしないでとりあえず書いてみた。
テストはしてないし、うまく動いてもかなり無駄な処理が多いから遅い気がする

(あらかじめ各座標の状態を 占領陣営[X,Y] = 2 みたいな形で配列で管理しているとする)

味方兵站調査:
#Args(1)は基地の座標を"X Y"の形で
#基地から繋がっている味方ユニットのユニットIDをリストにして返す関数

CopyArray 占領陣営 調査用
Local xx yy 調査待ち座標 カウンタ 調査インデックス 結果
xx = LIndex(Args(1),1)
yy = LIndex(Args(1),2)
カウンタ = 1
調査インデックス = 1

Set 調査待ち座標[カウンタ] = "$(xx) $(yy)"
Incr カウンタ
Do
xx = LIndex(調査待ち座標[調査インデックス],1)
yy = LIndex(調査待ち座標[調査インデックス],2)
If Party(Info(マップ,xx,yy,ユニットID)) = "味方" Then
結果 = 結果 & " " & Info(マップ,xx,yy,ユニットID)
EndIf
If 調査用[xx,yy] = 1 Then
#上下左右の座標を調査待ちにする
調査待ち座標[カウンタ + 1] = "$(xx + 1) $(yy)"
調査待ち座標[カウンタ + 2] = "$(xx - 1) $(yy)"
調査待ち座標[カウンタ + 3] = "$(xx) $(yy + 1)"
調査待ち座標[カウンタ + 4] = "$(xx) $(yy - 1)"
Incr カウンタ 4
EndIf
Unset 調査用[xx,yy] //一度調べた座標はもう調べない
Unset 調査待ち座標[調査インデックス]
Incr 調査インデックス
Loop While (Count(調査待ち座標) > 0) //調査待ち座標がなくなったら終了
Unset 調査用
Return 結果




掲示板管理者へ連絡 無料レンタル掲示板