| | |
|
投稿者:Deathworks 2006/05/26(金) 23:21
今日は、Deathworksです。 … > おぉっ、外人さんからの書き込みだ!凄い! … > > ありがとうございます。おぉ、グローバルに認められた…嬉しい m(T▽T)m … 私がそんなに偉くないと思いますけど(汗)。
> それでは、近いうちに「フォルダ(save/)」と「拡張子(.sd)」を変更できるように、あとパスの指定もできるようにします。 > > あと、実は SAVE, LOAD 命令の仕様を少し変更しようと思っています。 > OPEN, CLOSE 命令を追加したいと思っていまして、 > SAVE, LOAD 命令の前と後ろに OPEN, CLOSE 命令をそれぞれ書かないといけないようになります。 > ↓サンプルとして下のような感じです。 > > OPEN[FILE="userdata.dat"] > SAVE[DNO=1 SET=@A()] > SAVE[DNO=2 SET=$B()] > SAVE[DNO=3 ID=LAYER] > CLOSE[] > > いままでより少し面倒になりますが、けれど、セーブの速度がUPするというメリットがあります。 … 拡張子など変化出来るようになると助かります。「OPEN」と「CLOSE」はあって私にとって問題ではありませんけど、「CLOSE」を忘れる人がいればどうなるのがちょっと気になります。私の考えでは、ローカルの変数と同じく、自動的に「.yst」ファイルの終わりや「RETURN」命令で「CLOSE」になるのが一番安全だと思います。まぁ、今だけ出来た考えだけです。
「LOAD」の命令のマニュアルの説明で小さな間違いがありそうです。キーワードのチャートでDNOが0〜8192で大丈夫だと書いてありますけど、でも実際は1〜8192です。「SAVE」の説明で正しい様に書いてありますから、多分問題になりませんけど。
そして、「SAVE」と「LOAD」の機能についてもう一つの質問と考えがあります: INT[@Source(3,3)] INT[@Target(7,7)] SAVE[FILE="kamawan" DNO=13 SET=@Source()] LOAD[FILE="kamawan" DNO=13 LET=@Target()] そうすれば、@Target()がどんな内容になりますか?それとも「LOAD」の失敗になります?そして、@Source()と@Target()の配列としての大きさが逆なら、平気ですか?
実は、ちょっとRPGについて考えたら、「LOAD」と「SAVE」に「END1」「END2」「END3」。。。「END8」のキーワードがあればいいと思います。配列なら、「ENDn」でn次の大きさを決定出来るように: INT[@Source(3,3)] INT[@Target(7,7)] SAVE[FILE="kamawan" DNO=13 SET=@Source()] LOAD[FILE="kamawan" DNO=13 LET=@Target() END1=3 END2=3] そうすれば、@Source()のデータが@Target(0,0)から@Target(2,2)へコピーされる。 「SAVE」に同じような機能があれば、配列の部分をセーブすることが出来ます。
RPGのマップについて考えたら、こんなことが浮かびました。だって、プログラムの中のマップは大体
MACRO[NAME="X_Max" STR="200"] MACRO[NAME="Y_Max" STR="200"]
G_INT[@DW_Map(\[X_Max],\[Y_Max])]
のようなマップの最大の大きさを持つような配列になります。でも、これより小さなマップの方が多いですから、35x20などのマップの場合のデータファイルの大きさが気になりました。
> > なるほど。const 定数ですね。 > IF[@X > \MaxX] @X=\MaxX IFEND[] > こんな感じに使えますね(^^ … うん。コードが分かり易くなります。そして何かの変化があれば、簡単に直します:例えば、配列を作るにも使えますから、後で「この配列が小さ過ぎる!」などのことがあっても、一つの「MACRO」の変化ですむことです。
> > レイヤの部分コピー命令ですね。 > まだ公開していませんが、もうほとんど機能は完成しています。 > もうすぐ公開しようと思っています(^^) (T〜T)嬉しいです。
> > レイヤセット自体には「ID」しか使えないですが、 > レイヤセットの中のレイヤなら、「ID」「NO」両方使えます。 > > たとえば、 > > CG[ID=A/ SX=400 SY=300 Z=1] //400x300のレイヤセット「LSET」を作成 > > CG[ID=A/AA NO=1 Z=10 FILE="〜〜"] //レイヤ「AA」を作成 > CG[ID=A/BB NO=2 Z=30 FILE="〜〜"] //レイヤ「BB」を作成 > CG[ID=A/CC/ Z=20 SX=200 SY=200] //レイヤセット「CC」を作成 > > CG[ID=A/CC/AAA NO=1 Z=8 FILE="〜〜"] //レイヤ「AAA」を作成 > CG[ID=A/CC/BBB NO=2 Z=7 FILE="〜〜"] //レイヤ「BBB」を作成 > CG[ID=A/CC/CCC/ Z=1 SX=600 SY=500] //レイヤセット「CCC」を作成 > > 上のように、レイヤセットの中のレイヤにもNOが使えます。 … なるほど、そうなら楽に使えると思います。
> 有り難うございますー(^^) > ただ、吉里吉里やHSPでしか出来ない事もかなりたくさんありますから、 > 私もまだまだ頑張らないといけません。 > もっとたくさんの機能を追加したら、正式版(Ver1.0)を公開したいと思っています。 … 今のバージョンでも色々な事が出来ると思います。ところで、一つだけが気になりました。「Eris」というのはノベルのシステムですね。なぜ、皆さんがノベルのシステムを作るかしら。他のシステムと比べたら、ノベルのシステムの方が圧的に多いです。無敵の「Nscripter」からスクリーンのLayoutに上手な「ComicMaker」と初心者に対して優しいな「Yuuki!Novel」だけではありません、もう星の数ほどのシステムがあります。比べたら、インタネットからもらうの2DRPGシステム、例えば、は大体「Like A Quest Hyper」と「J-RPG」と「ERPG」だけになります。(「Cardwirth」と「SRC」がちょっと違うRPGタイプですから、ここに出ません。)勘違いしないで下さい。私もデジタルノベルが大好きです。ただ、この数の違いが不思議だと思います。一度聞きたいと思うことでしたから、ついに出てしまいましたけど、よろしければ考えを教えてくれませんか。
それでは、
Deathworks
| | |
| |
| | |
|