| コウさん: > >>コマンドの意義とか、そういう難しいことは一切考えてません。 > > > > もしコウさんがツリーを立てなかったら、私が立ててました。「コマンドの意義」はそういう立ち位置から発言しています。 > > よくわからないです。
議長として、出された意見を一言で却下するのはやめてほしい、ということです。
> 正直、処理の流れがわかり難いので、実例と流れ図の提示をお願いしたい気分です。
たとえば、「道路」の座標のみを選択する場合、ふつうは、
Appoint Where (Info(マップ, X(該当座標), Y(該当座標), 地形名) = "道路")
だけで十分ですが、あえてサブルーチンでやるのなら、まずコマンド側で
Appoint Where (Call(判別サブルーチン) > 0) として、サブルーチンでは、 判別サブルーチン: If Info(マップ, X(該当座標), Y(該当座標), 地形名) = "道路" Then Return 1 EndIf Return 0
となります。ちなみに、事前登録案の場合は、
Set 登録用配列 Set index For ix = 1 to マップX最大値 For iy = 1 to マップY最大値 If Info(マップ, ix, iy, 地形名) = "道路" Then 登録用配列[index] = ix & "," & iy // (注) incr index EndIf Next Next Appoint In 登録用配列
となります。見ての通り、条件式コマンド案のほうが簡明で、特にサブルーチンなしで十分のとき、違いは大きいです。オプションの仕様だけを考えれば事前登録案のほうが「分かりやすい」けれども、実際に記述するときには逆転するのですね。
(注): コウさんの案をこのように解釈しました。私案では右辺が「List(ix, iy)」になります。 強く主張するわけではありませんが、議長案は、(1)","が入ると文字列になり、SRC内部処理で文字列解析し数値に戻すことになり、実行時間がかかる (2)代入式が少しめんどう という欠点があります。対して長所は、リストに慣れていない人も多いということでしょうね。
> 書式を追加したところで、根本的な仕様に変更はありませんから、気にする必要はないでしょう。
これは「初期の機能が削除されるのではないから、追加の影響は気にする必要はない」というご意見ですね? しかし、リクエストにあたって留意すべきことは、初期の機能の維持以外にもいろいろあります。仕様の整合性、使う人に誤解されないか、乾さんの言葉では、「理解しやすさ」、「順序だった作りこみ」なのか、など。 書式の過半がマップ攻撃関係で、その上マップ攻撃での演出まで再現するとなると、何のためのコマンドかも理解できない仕様だと思いますよ。
ワヅキさん: > 野暮な突っ込みですが、SRCの設計思想というのは具体的にはどういった事なのでしょうか?
たとえば、Keiさんが、別途イベントコマンドを組まねばならないオプションをどう考えるか、どんな仕様を初心者のSRC修得の壁だと判断されるだろうか、あるいは、「データ量が爆発的に増える可能性」をどう評価されるだろうか、といったことです。
> コマンド案も併記してください、という話にも飛躍する訳で……。
それも有力かと思いますよ。 この間の意見の違いのポイントだと思うので、もう少し言います。 複数の案が出たとき、両案併記は有力な解決策だと思います。特に、両案にそれなりの長所が示されたときには、議論を切り上げても良いだろうと。もちろん続けても良いのだけど、ほとほどにして次へ移るべきかと。 逆に言えば、乾さんにしろコウさんにしろ、対立案をあえて排除したいのなら、それなりの理由の開示と説得性が必要だと思っています。
|