| 初めまして、なめです 私もグループ状態で戦闘させるようにちまちまとインクルを組んでいるので書き込ませてもらいます
>☆「グループ状態」を実現することを目指したい。(とりあえずの最終目標) >☆「グループ状態」を実現するためには、 "「グループ状態」はどういう動作をするのか" と、 "どうやって「グループ状態」を作るのか" の両方が必要。 >☆「グループ状態」の動作についての議論よりも先に "「グループ状態」を作る" 部分から考えたい。 >☆ "「グループ状態」を作る" ためには "すでにユニットがいるマスを(移動先として)指定する" 新機能が欲しい。 > ☆"すでにユニットがいるマスを(移動先として)指定する" 機能があれば、「グループ状態」以外のシステムの再現なども可能になる。
私は、中箱さんの例に出したGジェネのような戦闘システムを作っているのですが グループ状態での戦闘方法や、グループを作るなどは自作のインクルで8割方再現可能でした ただ、残りの2割が現状のSRCでは再現が非常に困難なのでそこで頓挫してるのですが……
で、その残りの2割がユニットAがユニットBの場所まで辿り着けるかどうか? これが再現できなかった理由としては(いや、本当はやろうと思えば再現できるんですが、移動可能範囲の地形名とその地形の移動コストを一個づつ調べていくという作業のめんどくささに負けて……)
でまぁ、中箱さんの言うこれがあれば実現可能は可能なのですが…… >"「グループ状態」を作る" ためには "すでにユニットがいるマスを(移動先として)指定する" 新機能が欲しい。
ただ、これだと敵や中立のユニットをスタックさせることが出来ないと思います 敵や中立のユニットがスタックするのを自分で操作する訳にもいきませんし……
そこで改善案、というほどでもないのですが…… 指定した座標が移動可能範囲かどうか?を調べる関数さえあれば 中箱さんの考えるグループ状態の作成など後はユーザー側でインクルを組むなりで大抵は解決できると思います
新しい関数(メインパイロット名, X(),Y())
こんなのはどうでしょうか? X座標(),Y座標()がメインパイロットの乗ってるユニットの移動可能範囲に含まれれば1を、できなければ0を返すという関数です
グループを組ませたいAとBがいるとして Bの座標を記憶させて一時的にエスケープさせ、AがBの座標まで辿り着けるなら Bを戻して、Aをグループに組み込ませればこれでグループは組めると思います
これなら、敵が自分からスタックを組ませることもできますしどうでしょうか? 長文失礼しました
|