SRC意見交換掲示板Mk2
(現在 過去ログ53 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■5638 / inTopicNo.1)  マップ上の特定ユニット・地点を取得するコマンド
  
□投稿者/ コウ -(2007/12/06(Thu) 22:27:09) [ID:ewtvFY5s]
    ども、コウです。
    リク板の方で「意見交換板で話し合った方がいいんじゃない?」という話を頂いたので移ってみます。
    動機は変わらず、SPやMAP兵器のような操作でユニットや地点の選択できれば便利かな、という至って軽いものです。
    以下本文。


    SelectUnit [unitID]
    SelectPoint

    unitID 対象パイロットID or 相手ユニットID(省略可)

    コマンドを実行するとマップ画面へ遷移し
    ・SelectUnit
     マップ上に配置されているユニットを選択することで、選択したユニットのユニットIDをunitIDへ格納する。
     省略した場合は対象ユニットIDに格納される。
    ・SelectPoint
     マップ上の任意の地点を選択することで、選択した地点の座標をX(目標地点)、Y(目標地点)へ格納する。
    右クリックでキャンセルされた場合はNULLを代入する。


    名称は暫定的なもので、今のところSelectをAppointに代えるという代替案が出ています。
    ただまあ、これだとPointの時にAppointPointとなって座りが悪い気もします。
    PickupとかChoiceなんかでも良いかな。

    以上、ご意見などございましたら、よろしくお願いします。


    追伸
    >あかんべえさん
    と、以上のような感じで考えてみました。
    これで1〜4までひっくるめた提案への回答になるでしょうか。
引用返信/返信 削除キー/
■5639 / inTopicNo.2)  Re[1]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ あかんべえ -(2007/12/07(Fri) 01:46:36) [ID:W3O3iFTg]
    2007/12/08(Sat) 01:37:33 編集(投稿者)

     ども、あかんべえです。
     コウさん、リクエスト掲示板からの移行希望といくつかの改訂案に応じてくださり、ありがとうございます。
     この議論はリクエスト板の続きですので、経過は知りたい方はリクエスト板を見てください。


     では、引き続き改訂意見をば。これ以外はすべて異論ありません。

    1. SelectUnit の仕様案
    SelectUnit [対象 または 相手]

    * コマンドを実行すると、マップ画面にてプレイヤーによるユニット選択を待ち、選択されたユニットのパイロット名とユニットIDをオプションで指定されたシステム変数に代入する。
    * オプションで「対象」を指定したときは「対象パイロット」「対象ユニットID」に
          「相手」を指定したときは「相手パイロット」「相手ユニットID」に
    代入される。省略されたときは「対象」と同じ。
    * プレイヤーがユニットアイコン以外をクリックしても、ユニット選択を待ち続ける(クリックミスがありえるので)。

    改訂理由:代入するシステム変数を二つにしても、たいした負荷はなさそう。
         現状、システム変数「〜パイロット」「〜ユニットID」は常に二つセットで代入されているし、そのほうがシナリオバグが出にくい。

    検討課題:右クリック時の動作
    A案 該当システム変数に 空文字 が代入される。
     (長所――SelectPointとの統一感がある。「ユニットが選択されなかった場合」のゲームシステムを設定できる。
      短所――「ユニットが選択されなかった場合」を想定しないシナリオでは、クリックミスに対応するためのコードが必要になる)

    B案 ユニット選択を待ち続ける

     うーん。「柔軟性」対「初心者シナリオライターへの配慮」ってところでしょうか。個人的にはA案が好みだけど、SRCのコンセプトからはB案になるのかなあ。


    2.名称について
    > 名称は暫定的なもので、今のところSelectをAppointに代えるという代替案が出ています。
    > ただまあ、これだとPointの時にAppointPointとなって座りが悪い気もします。
    > PickupとかChoiceなんかでも良いかな。

     あっちゃあ、前半 Appoint と後半 Point をくっつけた結果はぜんぜん考えてませんでした。
     そうですね、語のイメージから言うと Choice がすっきりするかな。まあ、わかりやすければ何でもよいのですが。


    3.SelectPoint の右クリック
    > 右クリックでキャンセルされた場合はNULLを代入する。

    →「〜 -1 を代入する。」

     SRCに NULL値という概念はありましたっけ? VBにはあるけれど、-1 がわかりやすいかと思いました。

引用返信/返信 削除キー/
■5644 / inTopicNo.3)  Re[2]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ 乾 -(2007/12/08(Sat) 20:45:50) [ID:qtH3ZfIs]
     乾です。
    ここはAskの実装にあわせてキャンセル可をつけた場合のみAの振る舞いをするのがいいのではないかと。

    では
引用返信/返信 削除キー/
■5645 / inTopicNo.4)  Re[3]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ Unnamed -(2007/12/08(Sat) 22:15:41) [ID:RljYHlvN]
     Unnamedです。面白そうなので自分の意見など述べさせて頂こうかと。

    > SelectUnit [unitID]
    > SelectPoint
     各々のコマンドについて、これらは一つにまとめても良いのではないでしょうか。マ
    ップの地点が取得出来ればユニットもInfo(マップ, X(目標地点), Y(目標地点), ユニ
    ットID)で取得出来ますので、 あえて似た目的のコマンドを増やす事もないと思われ
    ます。ただし、選択地点にユニットがいれば対象ユニットIDなどが追加的に設定され
    ていても良いと思います(いなければ空文字に設定)。

     右クリック時の動作は少々難しいですが、右クリックキャンセルをしないようにする
    のは、実際にキャンセル出来るようにしたいことが予想されるので否定されるかと思い
    ます。とするとキャンセルの通知法ですが、マップコマンドで実験した所、マップ外を
    選択するとX()やY()は0や-1も返せるようなので、 これらは特異値としては使えなさそ
    うです。代替案としてはX(目標地点)やY(目標地点)が空文字を返すというものが考えら
    れます。

    > * オプションで「対象」を指定したときは「対象パイロット」「対象ユニットID」に
    >  「相手」を指定したときは「相手パイロット」「相手ユニットID」に
    > 代入される。省略されたときは「対象」と同じ。
     それからこれは不要だと思います。というのもこのコマンドでは自分と相手という二
    元的な関係は指示されないからです。それより常に対象のみを取るとした方が、結果的
    には間違いが減るように思います。


     以下勝手仕様案です。

    Appoint [option]
    Appoint x y min max [option]

    x y min max
     (x, y)を中心として範囲[min-max]が選択可能。これらを省略すると範囲無制限。

    option
     「ユニット選択」 マップの地点ではなく、ユニット選択を待機します。
     「キャンセル可」 選択中右クリックでキャンセルします。X(目標地点)とY(目標地
              点)は空文字を返します。


     名称については上記の通り一つにまとめるなら単にAppointで良いのではないでしょ
    うか。地点を選択すると言う意味ではこれでも問題ないかと思います。Choiceだと用意
    された中から選ぶニュアンスがありますし、SelectはSelectコマンドやSelectTargetで
    使われていて混乱される可能性がありそうです。


引用返信/返信 削除キー/
■5646 / inTopicNo.5)  すいません、意味の確認だけです
□投稿者/ あかんべえ -(2007/12/08(Sat) 22:46:16) [ID:8H6naiPi]
     乾さんすいません。あまりに簡潔だったので、ご提案内容の確認です。

    > ここはAskの実装にあわせてキャンセル可をつけた場合のみAの振る舞いをするのがいいのではないかと。

     えっとこれは、SelectUnit の右クリック時についてのあかんべえの改訂案についてで、「キャンセル可」のオプションをつけたときだけ「A案」の動作、という意味ですよね?

引用返信/返信 削除キー/
■5647 / inTopicNo.6)  Re[4]: すいません、意味の確認だけです
□投稿者/ 乾@ようやく自宅 -(2007/12/09(Sun) 01:23:04) [ID:FGrzbgFn]
     乾@帰宅です。
     携帯で要点だけ書き込んだのですが、PCで見るとたしかに恐ろしく
    簡潔すぎでしたね。

     で、指摘ですが

    検討課題:右クリック時の動作

     では、現在のAskコマンドの仕様にあわせて、「キャンセル可」指定時のみ
    右クリックを許容。
     キャンセルが実行された際は空文字列""を設定する、のが妥当ではないかと
    思われます。
    (なお、Info関数などで対象なしとして""が設定される動作は結構SRCでは
    頻繁に使われる動作です)

     それでは
引用返信/返信 削除キー/
■5648 / inTopicNo.7)  Re[4]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ あかんべえ -(2007/12/09(Sun) 19:17:49) [ID:5iBgnAGH]
    2007/12/11(Tue) 05:47:38 編集(投稿者)
    2007/12/09(Sun) 19:20:29 編集(投稿者)

     Unnamedさんはじめまして。プログラムの技量と知識においてこの界隈で Unnamedさんが最高だと、私は勝手に思い込んでいるので、心強いです。

    1.コマンドの統合案について
     賛成です。

    > ただし、選択地点にユニットがいれば対象ユニットIDなどが追加的に設定され
    ていても良いと思います(いなければ空文字に設定)。

     これはぜひ欲しいと思います。(1)需要がありそう (2)info関数で求めることはできるけど、(慣れない人には特に)負担 (3)ユニット選択のオプションをつけた場合、結果値が座標だけなのは不自然 という理由です。


    2.検討課題:マップ外クリック時の動作
    > とするとキャンセルの通知法ですが、マップコマンドで実験した所、マップ外を選択するとX()やY()は0や-1も返せるようなので、 これらは特異値としては使えなさそうです。

     すみません。マップ外クリックは受け付けない仕様を議論の前提にしてしまってました。
     考えてみると、受け付けたほうが、コマンドのソースプログラムは簡明になりそうですね。
     他方、右クリック問題と共通の問題があります。受け付けた場合、マップ外クリック時への対処として、たとえば、

     Do
      SelectPoint(または Appoint)
     Loop While (X(目標地点) > 0) //マップ内がクリックされるまで繰り返す

    のような判別ループがたいていの場合不可欠、「定番」になるんじゃと思います。が、ループ無しでも一応動作するように見えるため、初心者のかたが SelectPoint 単独で記述してしまうバグが多発しそうです。

     というわけで、「マップ外クリックは受け付けない」とするか、右クリックと同様、「受け付けるならばオプションを付ける」かが良いと思います。そのどちらかは需要によります――どうなんでしょうね、マップ外クリック動作を積極的に利用するシナリオがどれだけあるか。右クリック動作と違ってあまりありそうな気がしないので、どっちかと言えば「受け付けない」固定かなあ。


    3.右クリック時の「特異値」
    > 代替案としてはX(目標地点)やY(目標地点)が空文字を返すというものが考えられます。

     ソースコードを見たところ、「X(目標地点)」の実体は整数型変数のようです。空文字だとその仕様も変えねばならないので、「-2」ではどうでしょうか。


    4.「相手〜」について
    > > * オプションで「対象」を指定したときは「対象パイロット」「対象ユニットID」に
    > >  「相手」を指定したときは「相手パイロット」「相手ユニットID」に
    > > 代入される。省略されたときは「対象」と同じ。
    >  それからこれは不要だと思います。というのもこのコマンドでは自分と相手という二元的な関係は指示されないからです。それより常に対象のみを取るとした方が、結果的には間違いが減るように思います。

     私の案のこの部分は議論の流れから、「コウさんは『相手〜』に代入する何か積極的な理由を見出しているのだろう」と思って書きました。私にはこだわりはなく、コウさんのご意見を待ちたいです。


    5.範囲指定
    > Appoint x y min max [option]
    >
    > x y min max
    >  (x, y)を中心として範囲[min-max]が選択可能。これらを省略すると範囲無制限。

     範囲指定オプションを付けるとすれば、既存のコマンドと統一させて、
    X Y width height
     (X, Y)を左上隅にし、widthを幅、heightを高さとする四角形の範囲から選択する。

    が良いと思います。

    # 編集追記
     おそらく誤解してたと気づいたので、追記します。
     Unnamedさんの案の min, max は、マップ上の矩形範囲ではなく (x, y)からの距離を示し、このオプションは攻撃目標選択画面のようなものを実現させる手段、ですね?
     だとすれば、失礼しました。かなり有用な案だと思います。


     その他の事項には、賛成です。

引用返信/返信 削除キー/
■5649 / inTopicNo.8)  Re[5]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ Unnamed -(2007/12/12(Wed) 00:35:22) [ID:RljYHlvN]
    >  というわけで、「マップ外クリックは受け付けない」とするか、右クリックと同様、「受け付けるならばオプションを付ける」かが良いと思います。
    > 右クリック動作と違ってあまりありそうな気がしないので、どっちかと言えば「受け付けない」固定かなあ。

     それはそうですね。オプションで制御すれば柔軟性も損なわれませんし、マップ外選
    択の需要は確かに少なそうです。


    > ソースコードを見たところ、「X(目標地点)」の実体は整数型変数のようです。空文字だとその仕様も変えねばならないので、「-2」ではどうでしょうか。

     再度現行版で実験した所、 選択可能な範囲はマップサイズ+-7まで選択出来るようで
    す。とはいえ「-7」などというのもきりが悪いですし、関数仕様の点はArgs()のように
    数値でも文字列でも返せるようにするのは問題ないはずなので、やはり空文字の方が筋
    が良いのではないかという気がします。


    > min, max は、マップ上の矩形範囲ではなく (x, y)からの距離を示し、このオプションは攻撃目標選択画面のようなものを実現させる手段

     左様です。最初の案では武器やアビリティのように、とされていたのでそれを再現す
    る方向ということで。しかし考えてみるとマップ兵器や長方形のような変則的な範囲を
    選択できるようにするのも面白いかもしれませんね。下記案で少し考えてみました。


     それから一つ思い付いたのですが、オプションに「キャンセル可」を指定せずに「ユ
    ニット選択」を指定すると、範囲内にユニットがいなかった場合に問題がありますね。
    「キャンセル可」は無くして常にキャンセル可能にしておくべきでしょうか? ユニッ
    トがいなかった場合のみキャンセル可が無くてもキャンセル同様の動作をさせるという
    方法もありますが、動作の一貫性が失われるのがいまいちです。


     以下オプションの追加案です。マップ範囲でここにあるもの以外は組み合わせで再現
    できるので省略しました。

    「非同期」    選択直後にマップの再描画を行いません。(範囲が表示されたままに)
    「マップ外選択可」マップ外の地点を選択可能にします。「ユニット選択」とは同時に指定しても意味がありません。
    「直」「拡」「扇」それぞれ、同じマップ武器属性と同じ範囲を取るようになります。
    「線 angle」   M線属性と同じ範囲を取ります。angleは範囲の取る角度(°)です。


引用返信/返信 削除キー/
■5650 / inTopicNo.9)  Re[6]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ あかんべえ -(2007/12/13(Thu) 23:32:38) [ID:zC0VsHYL]
    >>ソースコードを見たところ、「X(目標地点)」の実体は整数型変数のようです。空文字だとその仕様も変えねばならないので、「-2」ではどうでしょうか。
    >
    >  再度現行版で実験した所、 選択可能な範囲はマップサイズ+-7まで選択出来るようで
    > す。とはいえ「-7」などというのもきりが悪いですし、関数仕様の点はArgs()のように
    > 数値でも文字列でも返せるようにするのは問題ないはずなので、やはり空文字の方が筋
    > が良いのではないかという気がします。

     関数の戻り値設定だけを考えればよいのならたしかに問題ないのですが、この場合はもう少し複雑です。
    (1) Appoint (SelectPoint) コマンドで SRC.exe 内部の整数型変数 SelectedX, SelectedY を設定(クリック座標を設定する既存コマンドと同様の処理)
    (2) X(), Y() 関数で SelectedX, SelectedY を参照。倍精度浮動小数点型変数を経て戻り値の形に変換して返す。

     なので、空文字を返せるようにするには、SelectedX, SelectedY の仕様変更が必要で、それにともないこれらを使っている既存コマンドの変更やチェックも必要になってきます。特異値は、「-10」でも「-99」や「-255」でも何でもよいから、とにかく整数であれば、やはり手直しが簡明かと。
     とはいえ、実際にプログラムするのは Keiさんなので、リクエストとしては両論併記で Keiさんに判断をお願いしてもいいと思います。


    >  それから一つ思い付いたのですが、オプションに「キャンセル可」を指定せずに「ユ
    > ニット選択」を指定すると、範囲内にユニットがいなかった場合に問題がありますね。
    > 「キャンセル可」は無くして常にキャンセル可能にしておくべきでしょうか? ユニッ
    > トがいなかった場合のみキャンセル可が無くてもキャンセル同様の動作をさせるという
    > 方法もありますが、動作の一貫性が失われるのがいまいちです。

     おお。それは気が付きませんでした。
     「選択対象がなかった場合、キャンセル時とは別の特異値を返し、コマンドを終了する」というのはどうでしょうか。
     得意値を別にするのは、独自に処理したい場合がありそうだからです。たとえば、ユニットがいないので無効なアクションだとプレイヤーに知らせる Talk 文など。
     不統一感もなくなりますし。

     他の部分には、異論ありません。

引用返信/返信 削除キー/
■5655 / inTopicNo.10)  Re[4]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ コウ -(2007/12/15(Sat) 19:42:42) [ID:w3vz1qvl]
    VBの仕様の話は正直付いていけてません。
    要所は押さえてるつもりですが、完全に理解できてないかも知れないです。
    とりあえず自分で解る部分だけ言及してみます。

    >>* オプションで「対象」を指定したときは「対象パイロット」「対象ユニットID」に
    >> 「相手」を指定したときは「相手パイロット」「相手ユニットID」に
    >>代入される。省略されたときは「対象」と同じ。
    >  それからこれは不要だと思います。というのもこのコマンドでは自分と相手という二
    > 元的な関係は指示されないからです。それより常に対象のみを取るとした方が、結果的
    > には間違いが減るように思います。

    コマンド単体では意味がなくとも、イベント全体で考えれば意味を持ってくるかなぁと思っていたのですが
    考えてみれば変数に保存しておくなりいくらでも方法はあるわけで、解り難くなるだけだったかも知れません。


    >> それから一つ思い付いたのですが、オプションに「キャンセル可」を指定せずに「ユ
    >>ニット選択」を指定すると、範囲内にユニットがいなかった場合に問題がありますね。
    >>「キャンセル可」は無くして常にキャンセル可能にしておくべきでしょうか? ユニッ
    >>トがいなかった場合のみキャンセル可が無くてもキャンセル同様の動作をさせるという
    >>方法もありますが、動作の一貫性が失われるのがいまいちです。
    >  おお。それは気が付きませんでした。
    >  「選択対象がなかった場合、キャンセル時とは別の特異値を返し、コマンドを終了する」というのはどうでしょうか。
    >  得意値を別にするのは、独自に処理したい場合がありそうだからです。たとえば、ユニットがいないので無効なアクションだとプレイヤーに知らせる Talk 文など。
    >  不統一感もなくなりますし。

    ユニットが存在しないマスを左クリックすることで、特異値を返すようにすればキャンセルの代わりにならないでしょうか。
    あかんべえ氏の言われているような、無効なアクションに対する通知として自然な形になってくれると思うのですが。
    逆に解り難くなるだけかな?
引用返信/返信 削除キー/
■5656 / inTopicNo.11)  Re[5]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ あかんべえ -(2007/12/16(Sun) 00:38:55) [ID:VpizhB82]
    > VBの仕様の話は正直付いていけてません。
    > 要所は押さえてるつもりですが、完全に理解できてないかも知れないです。

     すみませんでした。
     要は、空文字を返すようにするには、Keiさんの見直し負担が増える、ということです。


    >> 「選択対象がなかった場合、キャンセル時とは別の特異値を返し、コマンドを終了する」というのはどうでしょうか。
    >> 得意値を別にするのは、独自に処理したい場合がありそうだからです。たとえば、ユニットがいないので無効なアクションだとプレイヤーに知らせる Talk 文など。
    >> 不統一感もなくなりますし。
    >
    > ユニットが存在しないマスを左クリックすることで、特異値を返すようにすればキャンセルの代わりにならないでしょうか。
    > あかんべえ氏の言われているような、無効なアクションに対する通知として自然な形になってくれると思うのですが。
    > 逆に解り難くなるだけかな?

     なるほど。それなら、ユニットの存在チェックをするルーチンの必要はなくなり、より速くなるだろうし、Keiさんの負担も減りますね。
     他方、欠点は、攻撃・アビリティでの目標選択画面とは別の動作になり、プレイヤーにとって違和感が生じることでしょうか。
     う〜ん。どっちがいいでしょうか。私としては判断付かないので、コウさんに一任でも、両論併記で Kei さんに選んでいただくのでもかまいません。ちょっと無責任? すみません。

引用返信/返信 削除キー/
■5657 / inTopicNo.12)  Re[7]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ Unnamed -(2007/12/17(Mon) 01:16:58) [ID:RljYHlvN]

     特異値については、私としては案の提示が出来ればそれで構いませんので、別の案に
    なることを否定するものではないとして頂ければ良いと思います。ただ個人的な好みで
    恐縮ですが、エラーコード・イディオムが正直好きではないものでして、出来れば使い
    たくないなと…

     とりあえず以上で、私からも異議はありません。

引用返信/返信 削除キー/
■5708 / inTopicNo.13)  まとめの要請
□投稿者/ あかんべえ -(2008/01/07(Mon) 22:58:34) [ID:3nbqbXJv]
     新年おめでとうございます。あかんべえです。
     このツリーも最後の発言から20日立っています。コウさん、そろそろ取りまとめをお願いできませんでしょうか?
     見たところ、出された提案のすべては、対立意見がないか、相違している双方がこだわらないと明言しているかのどちらかで、意見交換は集約された状態だと思います。

     なお、複数ユニット重複のツリー(No.5661)との関連について。あちらのツリーで関連を言っているのはおもに私なのですが、こちらのツリーとしては気にする必要はないかと。言わば、あちらが勝手にこちらとの関連を見出しているだけで、このツリーの議論はツリー内で完結している状態なのだから、あちらへの配慮でツリーの結論を遅らせるのは非効率だと思います。


引用返信/返信 削除キー/
■5717 / inTopicNo.14)  Re[1]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ コウ -(2008/01/17(Thu) 05:07:28) [ID:DheCHIua]
    コウです。
    それでは、遅くなりましたがまとめといきましょう。


    リクエストの趣旨は「SPやMAP兵器のような操作でユニットや地点の選択を可能とするコマンド」ですね。

    書式
    Appoint [option]
    Appoint x y min max [option]

    指定項目      説明
    x y min max     (x, y)を中心として範囲[min-max]が選択可能。これらを省略すると範囲無制限。

    option
    「ユニット選択」  マップの地点ではなく、ユニット選択を待機します。
    「キャンセル可」  選択中右クリックでキャンセルします。X(目標地点)とY(目標地点)は空文字を返します。
    「非同期」     選択直後にマップの再描画を行いません。(範囲が表示されたままに)
    「マップ外選択可」 マップ外の地点を選択可能にします。「ユニット選択」とは同時に指定しても意味がありません。
    「直」「拡」「扇」 それぞれ、同じマップ武器属性と同じ範囲を取るようになります。
    「線 angle」    M線属性と同じ範囲を取ります。angleは範囲の取る角度(°)です。

    解説
    コマンドを実行すると、マップ画面にてプレイヤーによる座標選択を待ち、選択された座標をX(目標地点)とY(目標地点)に代入する。
    また、選択した座標上にユニットが配置されていた場合、当該ユニットのユニットIDを対象ユニットIDに代入する。


    ここまでが固まっている仕様で、以下は都合の良い方でお願いします。

    キャンセル選択時の挙動
    1.空文字を返す
    2.何らかの整数を返す

    「ユニット選択」指定時に「キャンセル可」を指定しなかった場合の挙動
    1.「キャンセル可」を無くして常にキャンセル可とする
    2.選択対象がなかった場合、キャンセル可が無くてもキャンセル同様の動作をさせる
    3.選択対象がなかった場合、キャンセル時とは別の特異値を返し、コマンドを終了する


    こんなところですか。
    不足している部分、勘違いしている点などあれば指摘をお願いします。
引用返信/返信 削除キー/
■5718 / inTopicNo.15)  Re[2]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ あかんべえ -(2008/01/17(Thu) 17:57:17) [ID:LjGChCRy]
     コウさん、早朝からご苦労様です。

     まとめ案、下記の一点を除いて賛成です。

    > 「ユニット選択」指定時に「キャンセル可」を指定しなかった場合の挙動
    > 1.「キャンセル可」を無くして常にキャンセル可とする
    > 2.選択対象がなかった場合、キャンセル可が無くてもキャンセル同様の動作をさせる
    > 3.選択対象がなかった場合、キャンセル時とは別の特異値を返し、コマンドを終了する

     この「3.」は、「ユニットが存在しないマスを左クリックすることで、特異値を返すようにすればキャンセルの代わりにならないでしょうか」というご提案で、「選択対象がなかった場合」ということではなかったと思います。
     「2.」が選択対象の有無を自動的に調べる処理を組み込まねばならないのに対し、その必要がないことが「3.」のメリットかと。

     それ以外は、議論をよくまとめられたと感じています。改めて、ありがとうございました。


引用返信/返信 削除キー/
■5731 / inTopicNo.16)  Re[2]: マップ上の特定ユニット・地点を取得するコマンド
□投稿者/ 乾 -(2008/01/21(Mon) 23:56:42) [ID:KPaseBs2]
     乾です。

     ユニット選択オプション有効時の動作なのですが、現状の仕様ですと
    範囲内に存在するユニットの陣営や行動済みか否かなど関係なく
    あらゆるユニットが指定可能になってしまうように見えます。

     ユニット選択したときに「このユニットは指定できません」とエラーメッセージを
    返すよりはあらかじめオプションで陣営と行動終了前後ぐらいは絞り込めた方が
    よいのではないでしょうか?

     ユニット選択指定時にのみ有効になるオプションのイメージとしては

    「味方/NPC/敵/中立」:指定した陣営が選択可能
                指定されない場合は全陣営指定可能
    「行動可能/行動不可」:指定されている状態のユニットのみ選択可能
                指定されない場合は状態にかかわらず選択可能

    と言うところでしょうか

     それでは
引用返信/返信 削除キー/
■5732 / inTopicNo.17)  リクエスト草案
□投稿者/ コウ -(2008/01/25(Fri) 02:54:12) [ID:DheCHIua]
    コウです。
    イヌーイさんの意見は尤もだなぁと思ったのでそのまま入れておきます。
    この調子でオプションが増えるのは怖いですが。
    というわけでまとめのまとめ。


    リクエストの趣旨は「SPやMAP兵器のような操作でユニットや地点の選択を可能とするコマンド」ですね。

    書式
    Appoint [option]
    Appoint x y min max [option]

    指定項目      説明
    x y min max     (x, y)を中心として範囲[min-max]が選択可能。これらを省略すると範囲無制限。

    option
    「ユニット選択」    マップの地点ではなく、ユニット選択を待機します。
    「キャンセル可」    選択中右クリックでキャンセルします。X(目標地点)とY(目標地点)は空文字を返します。
    「非同期」       選択直後にマップの再描画を行いません。(範囲が表示されたままに)
    「マップ外選択可」   マップ外の地点を選択可能にします。「ユニット選択」とは同時に指定しても意味がありません。
    「直」「拡」「扇」   それぞれ、同じマップ武器属性と同じ範囲を取るようになります。
    「線 angle」      M線属性と同じ範囲を取ります。angleは範囲の取る角度(°)です。
    「味方/NPC/敵/中立」 指定した陣営が選択可能、指定されない場合は全陣営指定可能
    「行動可能/行動不可」  指定されている状態のユニットのみ選択可能指定されない場合は状態にかかわらず選択可能

    解説
    コマンドを実行すると、マップ画面にてプレイヤーによる座標選択を待ち、選択された座標をX(目標地点)とY(目標地点)に代入する。
    また、選択した座標上にユニットが配置されていた場合、当該ユニットのユニットIDを対象ユニットIDに代入する。


    ここまでは大体意見が一致している部分、以下は都合の良い方でお願いします。

    キャンセル選択時の挙動
    1.空文字を返す
    2.何らかの整数を返す

    「ユニット選択」指定時に「キャンセル可」を指定しなかった場合の挙動
    1.「キャンセル可」を無くして常にキャンセル可とする
    2.選択対象がなかった場合、キャンセル可が無くてもキャンセル同様の動作をさせる
    3.ユニットの存在しない座標を選択することで特異値を返す


    以上、こんな感じでリクエストしたいと思います。
    よろしくお願いします。
引用返信/返信 削除キー/
■5738 / inTopicNo.18)  細部の詰め、二点
□投稿者/ あかんべえ -(2008/01/28(Mon) 01:32:40) [ID:eyCeNbvY]
     コウさん、草案ご苦労様です。

     草案について、細部の詰めで気づいたことを二点。

    1.「option は複数選択可」と明示したほうが良いかと。
     option が増えて、たがいに独立した機能のものがあるので書かなくても通じるとは思いますが、一応。

    2.範囲の表示について
    > 「非同期」       選択直後にマップの再描画を行いません。(範囲が表示されたままに)

    と書かれていることから、攻撃目標選択時のような範囲内の色つき表示を想定されているのでしょうか。いや実は私もそういう画面になるだろうと思い込んでいたのですが、よく考えてみると議論されていないし、案にも明示されていません。

     この点、改めて意見をのべると、やはり攻撃目標選択時のような画面が簡明で統一性もあるかと思います。
     この案の欠点は、表示方法が固定されているため独自の方法ができないことですが、そういう需要はあまりないだろうと判断しています。

引用返信/返信 削除キー/
■5744 / inTopicNo.19)  Re[2]: リクエスト草案
□投稿者/ 中箱 -(2008/01/28(Mon) 19:10:35) [ID:TdSzoAHN]
    どうも始めまして、中箱です。


    すでにまとめにかかっているタイミングですいませんが、
    オプション増加の提案+幾つか草案で気になる点を。



    まず、オプション案追加についてですが、
    「『条件式』を満たす座標(ユニット?)のみ選択可」があると便利かな、と。


    …まあ、個人的な思惑と思いつきのきっかけとしてはNo5661〜のツリー絡みなわけですが、

    それとは関係なく、
    マップ上の特定の地形からのみ選択させたい場合(道路のみ、基地のみ、など)も考えられます。

    なにより、現在の仕様ですと、選択できる地点の条件を多少凝ったものにしたい場合は、
    「操作として選択はできるがシナリオ的には選択対象外のユニット/座標を選択したら、エラーを返す」という処理が必要になります。
    しかし、プレイヤーとしては、選択対象外のものは始めから選択肢から外しておいて欲しいと思うのではないでしょうか。

    選択の可/不可の判定に条件式が使えれば、あらかじめ選択肢を絞り込んでおくことが可能になり、この点が解決できます。
    実装されれば使い出のあるオプションになるのではないでしょうか。




    次に、草案の現オプションについていくつか。


    >「直」「拡」「扇」   それぞれ、同じマップ武器属性と同じ範囲を取るようになります。

    確認ですが、方向を指定しないということは、
    例えば
     Appoint x y 1 2 直
    であれば、選択可能地点(■)は
    □□■□□
    □□■□□
    ■■中■■
    □□■□□
    □□■□□(注:中=中心座標x,y)
    のようになるということで良いのでしょうか。



    また、「扇」の場合は
     Appoint x y 1 3 扇L3
    のように、レベルを伴って指定するということで良いのでしょうか。

    また、この場合の選択可能地点はどうなるのでしょう。
    射程1-3のM扇L3武器のように
    □□□■
    □□■■
    中■■■
    □□■■
    □□□■(注:上下左方向は省略)
    となるのでしょうか。それとも
    >(x, y)を中心として範囲[min-max]が選択可能
    に従って、
    □□□□
    □□■□
    中■■■
    □□■□
    □□□□(注:同上)
    のようになってしまうのでしょうか。



    >「線 angle」      M線属性と同じ範囲を取ります。angleは範囲の取る角度(°)です。

    M線属性と同じ範囲であれば、
    角度での指定よりも、終点となる座標の指定の方が分かりやすいんじゃないかなと。
    角度で指定できた方が汎用性はあるとは思いますが。




    以上です。

    案のまとめ、頑張ってください。
    では
引用返信/返信 削除キー/
■5747 / inTopicNo.20)  Re[3]: リクエスト草案
□投稿者/ あかんべえ -(2008/01/29(Tue) 01:23:29) [ID:8cuzccEQ]
     中箱さん、ども、あかんべえです。

    > まず、オプション案追加についてですが、
    > 「『条件式』を満たす座標(ユニット?)のみ選択可」があると便利かな、と。

     この機能を加える場合、「条件式」で各座標データや各ユニットのデータを参照する仕組みが必要だと思います。その仕様案を出していただけないでしょうか?


引用返信/返信 削除キー/

次の20件>

トピック内ページ移動 / << 0 | 1 >>

[このトピックに返信]
Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -