[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/09 12:29 / Filesize : 147 KB / Number-of Response : 504
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【アリス】system4.0【御用達】



1 名前:名前は開発中のものです。 [2006/11/05(日) 19:38:18 ID:cVqN/Dcb]
アリスソフトのゲーム開発で使われているsystem4.0のスレです。

長所 
・フリー
・C/C++ JAVAっぽい(オブジェクト指向 仮想マシン)
・ゲーム製作に特化している
・ADV、SLG、3Dダンジョン、なんでも作れる
・同梱されているチュートリアルが親切、解りやすい
・実際にアリスソフトで使用されている言語なので、力さえされば同じレベルのものが作れる

短所
・使用者が少ないため、参考にするサイトが少ない
・専用エディタが無い

アリスソフト公式 ユーザークラブ専用ページからDL可(登録無料)
ttp://www.alicesoft.com/

216 名前:名前は開発中のものです。 mailto:sage [2007/06/19(火) 07:07:26 ID:rXfLnLfd]
参照変数で気になったのですが、使い方は
戻り値 = 一つ
参照変数 = 複数の戻り値
ということでいいのでしょうか?


217 名前:名前は開発中のものです。 mailto:sage [2007/06/19(火) 19:35:41 ID:739CWyTX]
戻り値というと「数が返す値」しか思いつかないので
その文章は意味がよくわからんのだが・・・


一つの変数に結びついている参照変数は、元の値と同じ値を返す。
そして、一つの参照変数に複数の変数が結びついている状態はありえない。
なので>>216はちょっと勘違いしてる気がする。
違ってたらすまん

218 名前:名前は開発中のものです。 mailto:sage [2007/06/19(火) 20:11:04 ID:v3ALLbbm]
int func(void)だとint一つしか返せないけど、
void func(ref int a, ref int b)だとint二つ返せるよね、ってことじゃね?

使い方の一つとしては間違ってないと思うけど、
>216の書き方だとどういう理解をしてるのか俺には分からん。

219 名前:名前は開発中のものです。 mailto:sage [2007/06/19(火) 22:06:32 ID:rXfLnLfd]
>>218
はい。そういうことです。

一つの関数が自身の内部で、別な計算用の関数を呼び出し、
自身のローカル変数の値を、その計算用の関数で計算されるローカル変数の値に変更する時、
returnで計算された結果を返し、その戻り値を=するか あるいは
参照変数型での引き数を使うと思いますが、
その際
単独のローカル変数を変更するのであれば 戻り値を=
複数のローカル変数を同時に変更するのであれば 参照変数型での引き数
を使用するということでいいのでしょうか?

という風に聞きたかったのです。分かりにくくてすみませんでした。

220 名前:名前は開発中のものです。 mailto:sage [2007/06/21(木) 19:37:12 ID:eiLXPffC]
まあ構造体組んでそいつを返せば無理やりできんことはないが、
普通は構造体なんかに値突っ込むときも参照だわな。

221 名前:名前は開発中のものです。 mailto:sage [2007/06/29(金) 18:49:40 ID:MGei+fJA]
ほっしゅ

222 名前:名前は開発中のものです。 mailto:sage [2007/06/29(金) 19:28:18 ID:yKQrVVdW]
ちょっと困りました。
コンパイルエラーが出たとき、アウトプットに出力される、
ファイルにリンクされた文字をクリックしても、そのファイルを開けません。

(例:gamemain.jaf(7):構造体【a】は宣言されていません)
~~~~~~~~~~~~~~~~~ここ

クリックすると、

"C:\サンプル\source\gamemain.jaf(7)"が見当たりません
 新規作成しますか?

というダイアログが表示されます。何故でしょうか。
ちなみにエディターはテラパッドです。

223 名前:名前は開発中のものです。 mailto:sage [2007/06/30(土) 20:17:04 ID:RMC7WURe]
環境設定でパラメータがないやつは
ファイル名の最後に行数までくっつけてエディタに送っちゃうから。
>"C:\サンプル\source\gamemain.jaf(7)"が見当たりません
の(7)がそれ。


224 名前:名前は開発中のものです。 mailto:sage [2007/07/01(日) 21:17:19 ID:FtSxvsXR]
ありがとうございます!
秀丸エディターに設定したらちゃんと開けました。



225 名前:名前は開発中のものです。 [2007/07/07(土) 12:55:13 ID:LDQTU85a]
処理に関して質問です

キャラクターの移動をママトトやままにょにょみたいに表したく

 SP_GET_POS( 0, x, y);
 for( i=0; i<4; i++){
  x = x + 8;
  SP_SET_POS( 0 ,x ,y);
  SACT_UPDATE();
  W(100);
 }

上記のように8ドットづつ動かしたいのですが、
実際に実行してみると
0.1秒に8ドットづつ32ドット右に移動する場合と
0.4秒待ってから一気に32ドット移動する場合があります

なぜ分かれてしまうのでしょうか? }

226 名前:名前は開発中のものです。 mailto:sage [2007/07/08(日) 02:34:41 ID:OMaK/Dvz]
void game_main(void)
{
SP_CREATE(1, 200, 200, 255, 0, 0, 255);
int i;
int x = 0;
int y = 0;

SP_GET_POS( 1, x, y);
 for(i=0; i<4; i++){
  x = x + 8;
  SP_SET_POS( 1 ,x ,y);
  SACT_UPDATE(100);
}

'移動'A;
game_main;
}

とりあえずやってみたけど、一気に進むのが再現できないので
何故分かれるのか分からん。一気に32ドット進むのは、UPDATEができていないからだと
思うけど、別にUPDATEするのに何か条件を入れているわけじゃないしね。仮にforの
中身がスルーされているならそもそも進むことすらないわけだし。

どういう状況で分かれるのか教えてもらえると助かる。
あと、変数の宣言はGOかLOか? どんな数値が入っているか? 
他のスプライトに重なってたりして見えなくなっているということはないか?
といったことなんかも。移動用関数としてあるなら、そのままのせて欲しい。

227 名前:名前は開発中のものです。 mailto:sage [2007/07/08(日) 12:58:00 ID:1gTI6MKH]
>>226
ありがとうございます。

分かれる状況は実行する度にランダム(?)で処理が分かれていました。、
もしかしたら、チュートリアルにあるぱたぱたアニメーションと同時に行っている為、
その際、移動する画像が消えた瞬間に移動を実行してしまった為かと思い始めました。

ソースが長くなってしまったので以下にあげました
ttp://www11.axfc.net/uploader/16/so/N16_19439.txt.html
ttp://www11.axfc.net/uploader/16/so/N16_19440.txt.html
pass : source

228 名前:名前は開発中のものです。 [2007/07/08(日) 13:44:11 ID:jNRdLWCe]
>227
待機モーションでnSp1の方が表示されているときに移動しようとすると、
nSp0が未表示になってるから移動が見えないんだと思われ。

移動の時にnSp0を表示するようにするか、現在表示されている方を移動させるようにすれば
直ると思われます。

229 名前:名前は開発中のものです。 mailto:sage [2007/07/08(日) 14:47:34 ID:1gTI6MKH]
移動時の表示の切り替えを正したら直りました。

回答下さった方ありがとうございました。

230 名前:名前は開発中のものです。 mailto:sage [2007/07/17(火) 23:18:26 ID:u+tbtlEn]
hosyu

231 名前:名前は開発中のものです。 mailto:sage [2007/07/24(火) 22:16:50 ID:eLT263mP]
保守

232 名前:名前は開発中のものです。 mailto:sage [2007/07/25(水) 02:49:00 ID:9LCgxJ9S]
system 4.0ってさオブジェクトの再利用ってどうすんの?
クラスの継承もprototypeによる委譲もMix-inもないけどさ。
演算子オーバライドも無いからメンバアクセスをprototypeにリダイレクトもできないし。

それにこれのどこがOOPなの?言語仕様が劣化C++でライブラリ設計がベターCじゃん。
使ってる人はどうやってOO実現してるの?
名前空間もパッケージも無いけどモジュール性の確保とかどうするの?


233 名前:名前は開発中のものです。 mailto:sage [2007/07/25(水) 20:38:35 ID:AsNfm7Ol]
下手をすれば、未だに構造化すらされていないスクリプトのエンジンが動いてるような
エロゲ業界においては、最も進んだプログラムパラダイムに位置しているシステムのうちの一つ、
という意味で、オブジェクト指向に近いという程度の話。

一方で、学問的な美しさとは程遠い泥臭さも強い。
言語仕様が劣化C++でライブラリ設計がベターCってのは、全く持ってその通り。
天才級のプログラマ達が、長年かけて積み上げてきたシステム設計ハックを
Sys4が言語的にサポートした所で、それを(PGとしては)にわか仕立てである
ライターやグラフィッカーが使いこなせなければ意味がない。


要するに、アレがサポートされてない、コレがサポートされてないと
何でもブーたれる本職のプログラマは、素直にアレとコレがサポートされている言語を選んで
足りないゲームライブラリを自前で書けば良い。と俺は思う

234 名前:名前は開発中のものです。 mailto:sage [2007/07/26(木) 18:30:37 ID:wUr/yAzc]
そう考えると吉里吉里のTJSはエロゲにはとんでもないオーバーテクノロジーなんだな、
今風の動的なパラダイム満載言語は。

作者のハードウェアとソフトウェアを頭の中で分離出来てなくて
アセンブリで関数エミュレートして動的リンクとか言ってたのは、流石に何言ってんだコイツ?
とか思ったけど、エロゲ界のマだと普通なんだろうか。




235 名前:名前は開発中のものです。 mailto:sage [2007/07/26(木) 20:19:55 ID:RIwjy3oY]
難しい言語話している人達は日本人ですか?
トーシロの私はさっぱりわからんべさ。

楽できないアレがほしいという部分はあるけど、ウィザードリィを作ろうと思えば
作れるスクリプト、そのくらいの機能があるだけでとりあえずは十分だと思えてしまう。
そして、そういう点でいえば吉里吉里よりも(個人的に)使いやすい。

私的にはセーブ日時やクリアデータの保存ぐらいにしか構造体は必要ない、
ぶっちゃけじゃま〜と考えている人間だけど、これって少数派ですかね。

236 名前:名前は開発中のものです。 mailto:sage [2007/07/27(金) 11:34:34 ID:HnpebtNA]
ウィザードリィ作ろうと思うと構造体欲しくないか?

237 名前:名前は開発中のものです。 mailto:sage [2007/07/27(金) 18:31:28 ID:Sob+9ToY]
配列で十分かな。

238 名前:名前は開発中のものです。 mailto:sage [2007/07/28(土) 01:00:12 ID:1WPiB24Y]
アリスソフトは分業が確立されてるから
ゲームくむひととシステムつくるひととライブラリつくるひとが
分かれてる(システムとライブラリは同じ人かも試練)

みんながそれぞれ仕事をやりやすくするための落としどころが
劣化C++でライブラリ設計がベターCってところなのかもね。
あくまでも市販ソフトを作るための社内ツールなので、社員にとって
使いやすいか、嫌らしいバグを生み出しにくいような設計になってるか、
機能性よりも安定性か、、あたりが重視されてるんだとおも。

そういえば社内ではゲームくむひとの都合でSystem3.xライクな
命令名のライブラリを使ってるんじゃないっけ?

239 名前:名前は開発中のものです。 mailto:sage [2007/07/28(土) 03:12:45 ID:oK2zS/M5]
BASIC時代じゃないんだからそりゃ分業はするだろ。
とくにエロゲなら徹底的に分業すると思う。
分業した結果ならなおさら劣化C++構文は負担になりそうだけど。

240 名前:名前は開発中のものです。 mailto:sage [2007/07/28(土) 12:59:46 ID:xxhma4iV]
専任のプログラマがSys4の上に更にゲームシステムを構築した上で
他のスタッフに投げる事を想定してるみたいだから
末端のシナリオ関数はBASIC的な形式にしてしまっても何ら問題ない。
プログラマはプログラマで、DLLを作ってSys4に組み込むことができる。


商業ベースで定期的にソフトを出すのでエンジンが必要で、
ADVだけでなくRPGやSLGにも持って行きたいが、エンジンを複数抱える余裕はない。
ゲームの規模が小さくないので、まるで構造化されてないコードは管理が難しく、オブジェクト指向を取り入れるメリットもある。
しかし所詮エロゲメーカーなので社員数も少なく、エンジンに触れる人をプログラマだけに限定できるわけでもないので
本物のオブジェクト指向設計を強いることは現実的ではない。
同じコードを使い回すことでエンジンを安定させたいが、タイトルによっては
固有のC++&DirectXのコードを拡張できる余地は残したい。
という完全にアリスソフトの内向きの都合でできてるものなので、変態仕様なのは百も承知してる。

プログラマの立場から見るなら、
C++の機能が使えない事が不服ならC++を使いましょう。
非プログラマの立場から見るなら、
C++の構文が不服なら普通のADVエンジンでも探しましょう。あるいはプログラマを探しましょう。
って所

241 名前:名前は開発中のものです。 mailto:sage [2007/07/28(土) 22:10:52 ID:L3NhbgI6]
単にBASIC時代の人間が今時普通のOOとVMに触発されただけじゃないの?
ライブラリがベターCなのは命名規則をSys3.xに似せた互換性の問題で。

文法が劣化C++ならVMじゃなくてコンバータでC++ソース吐いてコンパイラに食わせた方が勝手が良いてのはマなら思うだろうし。
VMにしたのは趣味じゃない?

242 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 01:33:10 ID:rW3UYyqT]
www.xfuweb.com/alice/wiki/wiki.cgi/alice?page=%A5%B9%A5%BF%A5%C3%A5%D5

この辺にヒントが。妹尾氏の趣味的な要素もあるんだろね。
関係ないけどMSX版はMSX-BASICと簡単なマシン語で組まれてたの思い出した。

243 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 09:44:31 ID:h8wW1RfM]
>>242
それ読んでアリスがチャンピオンソフトだってこと思い出した。

244 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 11:54:31 ID:EE6V65Tj]
>240
>専任のプログラマがSys4の上に更にゲームシステムを構築した上で
>他のスタッフに投げる事を想定してるみたいだから
ゲームシステムも上の方はディレクターとかが直接調整してんじゃね?
さすがに昔みたいにシナリオ、プログラム、音声編集を一人でなんてことはないだろうけど。




245 名前:名前は開発中のものです。 mailto:sage [2007/08/05(日) 21:46:32 ID:hMQ0peJL]
>>237
配列は便利だし、大抵のことはできるけど、=でコピーが出来ないのが個人的にめんどいかな。
構造体(といっても、配列変数だけのもの)の配列なら構造体コピーの形でコピー出来るんで、
そっちの方がちょっと不便だけど便利かもしれない。(Σどっちだ)

246 名前:名前は開発中のものです。 mailto:sage [2007/08/09(木) 23:34:07 ID:OpEyQuyp]
ふう……。
floatの最大値はどうやって入力したもんでしょう。
普通なら 3.402823466*POW(10,38) 
でいいんでしょうけど、グローバル変数で宣言しようにも
【const値の要求に対して式が与えられました】って怒られてしまうし……。

247 名前:名前は開発中のものです。 mailto:sage [2007/08/11(土) 10:24:18 ID:cjFV7OEr]
>>246
3.402823466e+38

248 名前:名前は開発中のものです。 mailto:sage [2007/08/12(日) 19:39:20 ID:A9TrQSIZ]
>>247
オー サンクスです。

249 名前:名前は開発中のものです。 mailto:sage [2007/08/17(金) 20:27:32 ID:JLD0UdeZ]
超初心者的な質問で恐縮なんですが、
最初から用意されている機能だけを使って画面揺らしながら同時に文章表示とか出来ないですか?

250 名前:名前は開発中のものです。 mailto:sage [2007/08/17(金) 20:33:38 ID:dXA5Pbtb]
最初から用意されているってのは
特別HLLライブラリとかをインポートせずに、サンプルのコードだけをちょちょっと弄って
文字を出したいってこと?
やりたいことがよく判らないな、なんとなく出来なさそうな気がするけど

251 名前:名前は開発中のものです。 mailto:sage [2007/08/17(金) 21:17:42 ID:JLD0UdeZ]
はい、そういう事です。分かりにくくてすいません・・・

252 名前:名前は開発中のものです。 mailto:sage [2007/08/17(金) 21:45:39 ID:9fQEwE3z]
お手軽コースなら文章表示後SACT_QUAKE_SCREEN関数
文字を徐々に一文字ずつ表示と画面を揺らしっぱなのを
並列実行とかだとめんどいことになりそう

253 名前:名前は開発中のものです。 mailto:sage [2007/08/17(金) 22:08:25 ID:BvI/SudH]
文字はシングルフォーテーションでなく、
stringの引数で取る関数を使って一文字ずつごと揺らすように
した方がいいかな? できないことはないと思う。

LengthByte()で文字列の長さを取得、
文字を szB = szA[nLoop];みたいに一文字ごと取得しながら
文字の表示X位置を増やしつつ振動させるみたいな感じになるかな。
分かりにくくてごめん。





254 名前:名前は開発中のものです。 mailto:sage [2007/08/17(金) 23:29:54 ID:2MBXeHrG]
MES_CALL_FUNC のサンプルコードが使えそうな気がする
振動用の関数作らなきゃいけないけど



255 名前:名前は開発中のものです。 mailto:sage [2007/08/18(土) 02:00:59 ID:CwbJmHSx]
249の者です、こんな初心者な質問に答えて下さって皆さんどうもありがとうございます。

先程まで書かれていた方法を試そうと色々やっていたのですが、
私の知識では結局>>254さんの方法しか成功させることが出来ませんでした。
>>252-253さんの方法ではどうしても一文字ずつ取得する方法が分からなかったもので・・・、
(string型やarray@とか見たことも聞いたこともありません・・・、ポインタとか使えないみたいだし・・・)

とにかくお陰で問題を解決することができました、皆さん本当にありがとうございました。

256 名前:名前は開発中のものです。 mailto:sage [2007/08/19(日) 23:26:54 ID:2nMt3sJN]
すまんがちょっとだけ質問です。

CGのフェードアウトができる関数(フェードアウトのパターンが幾つかあって、引数で指定できる)が
SACT2だかに組み込みであったような記憶があるんだけど、マニュアルを探してもそれらしい関数が見つからない。
名前を思い出させてください

257 名前:名前は開発中のものです。 mailto:sage [2007/08/19(日) 23:49:57 ID:6QwYBDpR]
んー。

SACT_EFFECT(int nType, int nTime, int nfKey);

じゃないかな?

258 名前:名前は開発中のものです。 mailto:sage [2007/08/19(日) 23:55:13 ID:2nMt3sJN]
それでした
お騒がせいたしました

259 名前:名前は開発中のものです。 mailto:sage [2007/08/24(金) 00:15:19 ID:vTd5piEW]
お題:戦国ランスのタイトル画面の焔玉の演出

こいつぁーいかにもDrawSnowで実装されてそうな気がするぜ
と思って調べてみたら意外とあっさり再現できて拍子抜けした。
既出だったらごめんなさい。 →まとめWiki

260 名前:195 mailto:sage [2007/08/30(木) 03:53:25 ID:aU2W/YNb]
DC38のURL見つけてダウンロードしようとしたら404・・・・
サーバ容量不足で削除されたっぽい?
タイミング悪〜

261 名前:名前は開発中のものです。 mailto:sage [2007/09/11(火) 20:32:08 ID:FHs3wfoj]
hosyu

262 名前:名前は開発中のものです。 mailto:sage [2007/09/14(金) 08:14:32 ID:mYG5MPRu]
system4.0で
FFのようなRPGのMAPって、
MAPチップでつくるのか?
あるいはいったん一枚のCGにするのか?


263 名前:名前は開発中のものです。 mailto:sage [2007/09/14(金) 17:18:53 ID:e30btVMx]
どっちもできる

どんなゲームにするかにもよると思うけど
一枚絵にアイテムのみチップで乗せるのが
作るのもチェックするのも個人的には楽だった

264 名前:名前は開発中のものです。 mailto:sage [2007/09/14(金) 17:51:20 ID:k4+u9ySn]
ママトトみたいな、アイテムボックスの出し入れをやりたいんだけど、
何をどうしたらいいのかわからない・・・誰か教えてくだしあorz



265 名前:名前は開発中のものです。 mailto:sage [2007/09/15(土) 01:52:21 ID:8xNpHwwW]
>>263
でもその方法だと
樹とかの障害物だと楽でも
壁とかの障害物は大変そうだな

266 名前:名前は開発中のものです。 mailto:sage [2007/09/15(土) 11:16:20 ID:GdSXpNtY]
>>265
全部チップで並べるとマップの読み込みが遅くなるし
木でも壁でも進入不可区域の設定は同じようなもんだから
そうでもない……と思ってたけど、もっと楽な方法あるかも

267 名前:名前は開発中のものです。 mailto:sage [2007/09/15(土) 13:27:31 ID:cmmKy4o+]
PCが根性をインストールしているなら
一枚サイズのどデカイのを各種類ごと(アイテム、障害物、背景)つくって
三枚重ねて置くというのもできる。キャラ座標との重なりをαマップチェックで判定。
大きいマップなら便利かもしらん。当然重い。

ただ、個人的には全チップが一番楽だと思う。

>>264
ママトトPC買い換えて以来インストールしてないや……。
覚えてないんだけど、ままにょにょのnotパズルみたいなやつだっけ?
多分WIZとかのアイテムシステムと同じだと思う。

268 名前:名前は開発中のものです。 mailto:sage [2007/09/15(土) 23:30:48 ID:8R4Y24aZ]
int フラグ=0;
while(1){
 KEY_CLEAR();

 if(KEY_IS_DOWN(VK_LBUTTON)){
  if(フラグ==2&&マウス動いたかチェック()){// アイテムつかんで移動中
  }
  else{
   if(今選択中のアイテム==クリックしたとこのアイテム){
    フラグ=2; // 二度目の選択なので掴ませる
   }
   else{
    フラグ=1; // 選択アイテム変更
   }
  }
 }
 else{
  if(フラグ==1){
   フラグ=0;
  }
  else if(フラグ==2){
   フラグ=0; // アイテム放した時の処理
  }
 }
}

イメージ的にはこうか?
選択後左ボタン離さなくていいならこれより簡単になるね。

269 名前:名前は開発中のものです。 mailto:sage [2007/09/16(日) 15:31:45 ID:/KVPUWxW]
みんなどんなの作ってるの?

270 名前:名前は開発中のものです。 mailto:sage [2007/09/18(火) 21:46:33 ID:xaL6FU+C]
>>267
>WIZとかのアイテムシステム
ってのはどのようなものですか?


271 名前:名前は開発中のものです。 mailto:sage [2007/09/18(火) 21:58:37 ID:xaL6FU+C]
>>264
ままにょにょ でしたすいません。

272 名前:名前は開発中のものです。 mailto:sage [2007/09/18(火) 23:15:28 ID:OkpVoOWr]
>>267
最近なくなってきたけどキャラが八個までとか
十個までしかアイテム持てないタイプのシステム。
アイテム用の配列をつくるんじゃなく、キャラクターデータの配列に
(他のパラメーターと同じように)所持アイテムの要素を加えているもの。

273 名前:名前は開発中のものです。 mailto:sage [2007/09/18(火) 23:16:17 ID:OkpVoOWr]
おっと>270。

274 名前:名前は開発中のものです。 mailto:sage [2007/09/18(火) 23:19:48 ID:xaL6FU+C]
>>272
なんとなくイメージが掴めました。

すると、ままにょにょのように(2*2マス)アイテムとかをセットしていくのは、
多次元配列っぽい扱いで組むと良い・・・感じになるのでしょうか。



275 名前:名前は開発中のものです。 mailto:sage [2007/09/18(火) 23:23:06 ID:nh0I3KRl]
キャラデータに二次元配列でも持たせる。
0=装備不可、1=装備可、2=装備中として
2,2,1,1,0
2,2,1,1,0
1,1,1,0,0
みたいな感じにして装備時の判定に使う。
画面表示につかう装備位置とか種類はキャラごとにリストとして持っておく。

ぱっと思いついたのを適当にまとめようとしたら
中途半端になりそうだったのでここだけ。
というか、アイテムリストとかの作り方とかから関係してそうだし、
効率とかは別としていろんなパターンありそうだが。


276 名前:名前は開発中のものです。 mailto:sage [2007/09/20(木) 23:28:58 ID:20DvfK8F]
txtファイルやバイナリファイルの
読み込み方がわからない・・・
誰か教えて下さい。

277 名前:名前は開発中のものです。 mailto:sage [2007/09/21(金) 06:04:07 ID:9fbbqFiF]
それが何らかの構造体に対応する形式なら(設定データとか)File.dll使用。

と書いててふと思ったけど、
stringのみの構造体にFile.dllで全部読み込ませて
自前で文字列分割すればいける?。
File.dllで書き出したものしかダメかもしんないけど。

278 名前:名前は開発中のものです。 mailto:sage [2007/09/21(金) 11:26:28 ID:Tv3x8N6Q]
DATAアクセスのDATA.hllってどうやって使うん?
変換ツールの使い方すらよくわからんorz

279 名前:名前は開発中のものです。 mailto:sage [2007/09/21(金) 20:31:35 ID:9fbbqFiF]
使ったこと無いから違うかも。

変換はドラッグアンドドロップ。
iniファイルに書かれたフォルダに全部変換されるからNL5でリンク。

Openでデータを開いてReadで指定された構造体へ読込。
書いてないがRead毎に一つのデータを読むのかも。

サンプルデータ.txtだと多分構造体は
struct Data{
string; //名前
int; //性別
int; //体力
int; //攻撃
int; //魔法
int; //防御
int; //魔抵
string; //特技
int; //属性
};
こんな感じだと思われ(変数名とかはめんどいので省略)
データの#defineが効くのは変換時だろうし。


280 名前:名前は開発中のものです。 mailto:sage [2007/09/21(金) 20:33:45 ID:9fbbqFiF]
改行多すぎたorz

int result;
Data param;
result = Open(リンク番号);
if(result == 1)
{
if(Read(param) == 1)
{
// 成功
}
Close();
}
これをちゃんと動くように書き直して試してみたらなんとかなるかも。
サンプルデータ.txt使ってランスが読み出せたら正解。

281 名前:名前は開発中のものです。 mailto:sage [2007/09/22(土) 01:34:26 ID:5k6/7BO3]
ああ、iniファイルに指定されたフォルダ作ってドラッグドロップすれば良かったのか。
exeだけ実行しても何も起きないはずだorz

サンキュー、これでデータ組み込み&修正が楽になりまする。


282 名前:名前は開発中のものです。 mailto:sage [2007/09/22(土) 20:55:43 ID:lCiDoZD6]
>>279
NL5って何?

283 名前:名前は開発中のものです。 mailto:sage [2007/09/22(土) 21:02:08 ID:lCiDoZD6]
すまん、調べたらすぐでてきた

284 名前:名前は開発中のものです。 mailto:sage [2007/09/23(日) 14:51:39 ID:1iwE3MFE]
>279,280

おかげさまでデータ読み込みまで出来るようになりましたアリガト!(´▽`)

予想通りreadコマンドで読めるの一行だけみたいでしたけど、
配列構造体に格納しつつエラーが出るまで読み続ければOKでした。

これでデータがかなり整理できまする(;つД`) タスカッタ

今まではエクセルのリストから初期化用定義文吐きだしてコピペ。
一個ずつ代入してくって面倒なコトしてたw



285 名前:名前は開発中のものです。 mailto:sage [2007/09/23(日) 17:44:12 ID:gTMsvm9z]
>>284
できればソースを見せてくれませんか?
僕もやっているのですがうまくいかなくて

286 名前:284 mailto:sage [2007/09/24(月) 01:33:40 ID:wQrq8l22]
>>285
こんなんす。
ループが入っているだけで、教えてもらったのとほとんど一緒です。

===
void ★ReadData(void){
int No = 0;

if(Data.Open(1) == 1) {
while(true) {
No++;
if(Data.Read(g_ReadData[No]) == 1) {
// 読み込み成功

//system.MsgBox("No = " + g_ReadData[No].nNo.String() + ":名前 = " + g_ReadData[No].sName);

} else {
//system.MsgBox("データの読み込みを終了しました。");
break;
}
};

Data.Close();
} else {
system.MsgBox("データのロードに失敗しました。");
}

}

287 名前:284 mailto:sage [2007/09/24(月) 02:16:10 ID:wQrq8l22]
あ、そだそだ。
データチェックとか色々してたんでwhile文とif文分かれてますけど、
普通に作る分にはwhileだけで問題ないです。

うちも最終的には直すんで。


288 名前:名前は開発中のものです。 mailto:sage [2007/09/24(月) 15:02:52 ID:PLTvhaxX]
>>286
サンクス。
286のやつでやってもうまくいかないから
Data.dllかNL5でのリンクがうまくいってないみたいだ

289 名前:名前は開発中のものです。 mailto:sage [2007/09/30(日) 00:54:23 ID:jYQSajes]
「Data.dll」→RUN\DLLフォルダ
「Data.hll」&「Data.inc」→HLLフォルダ
この三つをそれぞれのフォルダに置いてSys42IDEの"HLLを追加"で追加したけれど
【Open】関数は定義されていません となって使えません
もしかして追加の仕方が間違ってるのでしょうか?

290 名前:名前は開発中のものです。 mailto:sage [2007/09/30(日) 07:39:52 ID:DbtRC+b1]
ちゃんと「エイリアス名.Open」にしてるか。
System40.iniをしてるか。

この辺。

291 名前:名前は開発中のものです。 mailto:sage [2007/10/09(火) 22:50:08 ID:q9E93AE4]
hosyu

292 名前:名前は開発中のものです。 mailto:sage [2007/10/20(土) 01:07:20 ID:+048CWqr]
0乗は1になるのかー。初めて知った。

293 名前:名前は開発中のものです。 mailto:sage [2007/10/23(火) 23:14:01 ID:g6dhJWeE]
過疎だ……。
誰かRPGとか作っている人います?

294 名前:名前は開発中のものです。 mailto:sage [2007/10/24(水) 00:35:21 ID:xn+nw84C]
今パズル作ってるけど業務が忙しくなって丸2ヶ月くらい触ってない・・・



295 名前:名前は開発中のものです。 mailto:sage [2007/10/25(木) 00:31:39 ID:Zn6cpkxM]
よさげな戦闘システム思いついたけど実装できなくて放置中

296 名前:名前は開発中のものです。 mailto:sage [2007/10/25(木) 16:27:46 ID:vNqY00up]
>>295
晒したら誰か助言くれるかもよ

297 名前:sage [2007/10/26(金) 12:02:12 ID:/MaVV48B]
今ボードゲームタイプのRPGモドキを作ってる。

最近はwikiの更新が多くて嬉しい。
wiki充実させたいけど、面白い関数とかのネタも特にない。
どういう情報が載ってれば便利なのかな。

298 名前:名前は開発中のものです。 mailto:sage [2007/10/26(金) 13:27:24 ID:+vtTpZVu]
あのゲームのこういうとこはこういう風にして動いててsystem4で書くとこうなるんですよ
的な解説とか面白そう&便利そう

299 名前:名前は開発中のものです。 mailto:sage [2007/10/26(金) 23:39:08 ID:HBlQXi9f]
ゲームそのものの解説になるけど、そういうサイト自体少ないからな。


それより、wikiの更新が途切れないのはいいんが
あの独特のインデント・カッコの使い方は修整してもいいんだろうか?
まぁコード書いてる本人が判ってるなら別に文句を言う筋はないんだが
あんなスタイル始めて見た

300 名前:名前は開発中のものです。 mailto:sage [2007/10/27(土) 00:00:22 ID:94TX4bJ6]
いいよー。もともと我流の上に、普段からTAB使いなんで
WIKIだと自分でも分かりにくいなと思ってる。


301 名前:名前は開発中のものです。 mailto:sage [2007/10/29(月) 22:11:56 ID:F5r4jyoq]
今更思ったんだけど……。
RPGの制作って解説に向いて無い?
ソースの増え方が天井知らず。

302 名前:名前は開発中のものです。 mailto:sage [2007/10/30(火) 00:03:44 ID:c1631LRa]
RPGでソースが増えるのは仕方ないかと

jafじゃなくてtxtファイルにしてくれたらブラウザで読めて便利かなと思った
ファイル数多いと落とすのがちょっと大変
まあ勝手な言い分なのでやりやすい形で続けてくれ

303 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 00:12:05 ID:mCtKzBY/]
システム4.0でシューティングは作れるのだろうか
グラディウスやR-TYPEのレベル

304 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 00:29:38 ID:v32JWrVo]
システム4.0でシューティングのサンプル、見たことありますよ。



305 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 00:43:59 ID:mCtKzBY/]
すげぇ
突き詰めればかなり融通が効くのだろうか

306 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 07:09:28 ID:53sZItNQ]
タスクシステムサンプルならスゲスゴにあると思う。

融通が効くというか、関数ポインタを構造体に持たせられるなら、
STGもACTもRPGもSLGもSRPGもそれほど変わらないような作り方で出来る。
処理の重さがネックだけど。

307 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 07:17:14 ID:mCtKzBY/]
関数どころか算数が出来ないレベルに落ちたぜ

最低限は可能だが(プラスマイナスかけるわり算)
それ以上の方程式という高度なレベルは
学生時代から投げ出していたぜ

そんな自分でもシステム4.0を構築出来なくはないレベルなのだろうか

308 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 11:16:48 ID:4l261QOy]
大丈夫でしょ。
面倒な計算はそれこそPCにさせればいい。

309 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 11:33:17 ID:mCtKzBY/]
何という恐怖
システム4.0を突き詰めれば
大概のゲームが作れるとわ…

数学分からないとか言い訳せず
頑張ってみる

310 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 19:34:57 ID:gkLUOEZ3]
究極に突き詰めたら、
最初にゲームシステムDLLを呼び出したまま最後まで返ってこなくなる気がする。
まあそこまで行ったら他のフリーライブラリのほうがいいんじゃね?とも思うが。

311 名前:名前は開発中のものです。 mailto:sage [2007/11/02(金) 17:38:20 ID:LI5jfqFF]
俺はアリス儲だからsystem4.0でやる事に意義がある
まあたいしたもん作ってないけどさw

312 名前:名前は開発中のものです。 mailto:sage [2007/11/02(金) 23:44:46 ID:n3OSdW5H]
ユーザークラブのZEROは「こういうのも作れます」
のよい見本だと思う。

313 名前:名前は開発中のものです。 mailto:sage [2007/11/05(月) 22:47:48 ID:eDoMJSU2]
うー実行時に

【HLLからIString::Set()が呼ばれましたが、stringの実体は一時オブジェクトです】

と出る……。
これがintの場合は大丈夫なのに何故でしょう。

314 名前:名前は開発中のものです。 mailto:sage [2007/11/06(火) 21:18:33 ID:dVZUWYYT]
>313
ふと思ったんだが、dll.func("ABC")とかやってない?
ref stringで。
いや、参照じゃなくてもこれができるかはわかんないし、
intなら大丈夫の意味もわかんないんだけど。

もし自前DLL作ってるなら、
どういう風に呼び出してるかとかHLLとか出してみてよ。
(そのままじゃなくてもいいから)



315 名前:名前は開発中のものです。 mailto:sage [2007/11/06(火) 23:18:45 ID:cZ2R0MB+]
それが自作のDLLを使用しているわけではないんです。
全体のソースをはらせていただきます。

wikiwiki.jp/system4/?plugin=attach&pcmd=open&file=Source.zip&refer=%CB%DC%A5%B9%A5%EC%A3%D1%A1%F5%A3%C1%A4%DE%A4%C8%A4%E1

無駄に量はありますが、エラーの条件は

RPG \ CHAR_MAKE \ tagObject.jaf

にある、object構造体のコンストラクタの一行です。
同ファイルの先頭にあるg配列の

array@object asChar[20];

の要素数の倍、実行時にエラーメッセージが出るようですが、原因の見当がつきません。
ローカルでoName_baseを呼ぶ分には問題ないようです。
もし宜しければ教えて下さい。

316 名前:名前は開発中のものです。 mailto:sage [2007/11/06(火) 23:23:09 ID:cZ2R0MB+]
あれ……テキストは直リンクできるのにZIPは出来ない?
このファイルです。

wikiwiki.jp/system4/?plugin=attach&pcmd=info&file=Source.zip&refer=%CB%DC%A5%B9%A5%EC%A3%D1%A1%F5%A3%C1%A4%DE%A4%C8%A4%E1






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<147KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef