- 1 名前:名前は開発中のものです。 [2006/11/05(日) 19:38:18 ID:cVqN/Dcb]
- アリスソフトのゲーム開発で使われているsystem4.0のスレです。
長所 ・フリー ・C/C++ JAVAっぽい(オブジェクト指向 仮想マシン) ・ゲーム製作に特化している ・ADV、SLG、3Dダンジョン、なんでも作れる ・同梱されているチュートリアルが親切、解りやすい ・実際にアリスソフトで使用されている言語なので、力さえされば同じレベルのものが作れる 短所 ・使用者が少ないため、参考にするサイトが少ない ・専用エディタが無い アリスソフト公式 ユーザークラブ専用ページからDL可(登録無料) ttp://www.alicesoft.com/
- 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
- 317 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 20:40:19 ID:aH1Zfske]
- ええとごめん、時間がないからエラーの出る場所だけで。
game_main>asChar_Data>oCharMakeと辿っていって、 最終的にans_t::SString関数内の if(szX != szA){asY[nL] = szX;return asY[nL];} の行でエラーが出る。 asChar_Dataを呼ぶ前にAコマンドで止めて、 ブレークポイント使ってステップ実行するとわかると思う。 ただ、使い方が間違ってるのかどうかまではわかんない。 (ライブラリの作者さんならわかりやすいのかな) あと、intなら大丈夫の意味も未だにわかんない。
- 318 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 22:25:35 ID:aH1Zfske]
- ふと思いついて、
if(szX != szA){asY[nL] = szX;return asY[nL];} を if(szX != szA){asY.Erase(nL);asY.Insert(nL, szX);return asY[nL];} としたらエラーはなくなったんだが、 これは>313、ライブラリ作者さん共に正しい動作になってるか?
- 319 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 23:13:39 ID:xpaYlRaB]
- >>317-318
どうも有り難うございます。エラー箇所は分かったのですが、 何故エラーになるのかがどうしても分かりません。 >>318 まことに申し訳ないのですが、正しい動作になりません……。 第二引数に何を入れてもマウンテンデューが返ってくるようです。 「intなら大丈夫」というのはこういうことです。 //テスト void game_main(void) { ans_t MS; //MS.nSet("keyword",100); //MS.nSet("keyword",200); //N(MS.nGet("keyword"));A;//正常な動作だと200が出力 MS.ssSet("keyword","じむ"); MS.ssSet("keyword","がんたんく"); S(MS.ssGet("keyword"));A;//正常な動作だと"がんたんく"が出力 } nSetはans_tのメソッド、SNumとほぼ同等のメソッドです。 ssSetはans_tのメソッド、SStringとほぼ同等のメソッドです。 SNumとSStringの違いは、int配列に入れるかstring配列に入れるかというだけで、 操作はほとんど同じです。 しかしnSet(上のコメントアウトしている方)は正常に動作し、 下のssSetの方は単独では前述のエラーメッセージが出ます (コメントアウトを外し、先にnSetの方を動かすとssSetの方も正常に動きます) どうしてこんな違いが出るのかに大混乱です。
- 320 名前:318 mailto:sage [2007/11/08(木) 19:54:53 ID:mXVUOzqf]
- あ、InsertはPushBackしないのか。
>318の修正を if(szX != szA){asY.Insert(nL, szX);asY.Erase(nL+1);return asY[nL];} にしてみて。 修正前は文字列を直接置き換えてたっぽいから、 新しい文字列をその位置に挿入した後、後ろに一つずれた以前の文字列を削除するようにしてみた。 >319でもエラーは出ないし、 RPGの方も「無人」とか「勇者」とか出るようになったからちゃんと動いてるとは思う。 原因はわかんない。 stringの配列要素に直接代入するところが特殊仕様かもしれないけど、 ちゃんと動くこともあるからSystem4.0のバグなのかなぁ。 エラーが出るときもそうでないときも デバッガに出るans_t変数の現在値は変わらないように見えるし。
- 321 名前:名前は開発中のものです。 mailto:sage [2007/11/08(木) 19:56:16 ID:NpNB32t6]
- 代入はできませんが、加算代入はできるようなので、とりあえず↓こういう形でしのぐことにしました。
とはいえ、何故「asY[nL] = " "」が出来ないのかは未だに分からないので、 もし分かる方がいたらいつでもいいので教えて下さい。一定の条件のもと、 stringの代入が不可になるというのは、条件が分からないままだと困りそうです……。 //stringエラー対策用の代入式 void ADD(ref string szX,string szY) { int nLength = szX.Length(); szX += szY; int nL; for(;nL < nLength;nL++) { szX.Erase(0); } } //文字列から要素を検索し、szXを返します。[asXが要素の役割] string SString(string szX,string szV = szA,string szY = "Renew") { ans_ReAlloc; int nL;for (nL = 0;nL < asX.Numof(); nL++) {if(szX == asX[nL]){if(szV == szA){return asY[nL];} if(szV != szA){ADD(asY[nL],szV);return asY[nL];} } } if(szY == "Renew" && szV != szA) {asX.PushBack(szX);asY.PushBack(szV);return szV;} return szA; }
- 322 名前:名前は開発中のものです。 mailto:sage [2007/11/08(木) 20:02:41 ID:NpNB32t6]
- >>320
どうも有り難うございますー。上手くいきました。 値に干渉するのはよくて代入だけ駄目というのは本当何なんだろう……。
- 323 名前:名前は開発中のものです。 mailto:sage [2007/11/10(土) 18:30:17 ID:EfYdmYW2]
- まとめwikiからHLLshotcat.zipをダウンロードしたんだがパスが解らん
送られてきた会報のメールを確認してユーザーID入れてるんだが上手くいかないorz
- 324 名前:名前は開発中のものです。 mailto:sage [2007/11/10(土) 18:34:59 ID:EfYdmYW2]
- と思ったら出来た
スレ汚しスマソ
- 325 名前:名前は開発中のものです。 mailto:sage [2007/11/13(火) 07:08:47 ID:E7kpa99+]
- 気がつくとWIKIもグーグルの1ページ目だなあ。内容は
初心者向けなのか上級者向けなのか分からないところはあるが……。
- 326 名前:名前は開発中のものです。 mailto:sage [2007/11/19(月) 00:19:07 ID:5fRgCIrj]
- いいってことよ
- 327 名前:名前は開発中のものです。 mailto:sage [2007/11/28(水) 23:43:23 ID:GQA8QXik]
- 最近、関数や機能の整理ためにクラス使い出したんだけど、
クラス内のメソッド関数にデフォルト引数って使えんの? 「メソッド定義にデフォルト引数は使用できません」 ってエラーになっちゃうんだけど。 マニュアルのデフォルト引数の説明見る限りは使えるっぽいんだけどなあ。
- 328 名前:名前は開発中のものです。 mailto:sage [2007/11/29(木) 01:38:38 ID:YNi9MS+N]
- メソッドを分割して定義してるなら、上に定数を入れたらできたよ。
- 329 名前:名前は開発中のものです。 mailto:sage [2007/11/29(木) 06:18:36 ID:Z4mGFDpB]
- メソッド定義って出てるからそっちに書いてるんじゃない?
実装側に書かないと。
- 330 名前:名前は開発中のものです。 mailto:sage [2007/11/29(木) 06:23:12 ID:Z4mGFDpB]
- ごめん、違ってた。
忘れてorz
- 331 名前:名前は開発中のものです。 mailto:sage [2007/11/29(木) 21:24:17 ID:vAxuvCot]
- おお、なるほど。
クラスの定義側で定数入れて、 実装側は引数の宣言だけしておけばいいのか。 定義と実装両方同じにしておかないといけないと思ってましたorz
- 332 名前:名前は開発中のものです。 [2007/12/10(月) 19:19:39 ID:MKJaX+BI]
- age
- 333 名前:名前は開発中のものです。 mailto:sage [2007/12/11(火) 18:39:15 ID:usuyb1bv]
- >>25みてarray@int@4 asasas[1000][1000][1000][1000];とかやってみたら超絶重くて大爆笑した
- 334 名前:名前は開発中のものです。 mailto:sage [2007/12/16(日) 16:32:57 ID:F9amJRpt]
- mp3使えない事に気付かず一日を無駄にした(;´Д`)
- 335 名前:名前は開発中のものです。 mailto:sage [2007/12/17(月) 20:52:51 ID:LmPKFuIU]
- >>333
array@int asasas[1000000000000]; と消費メモリは同じですからね。大抵応答待ちで固まる。 WIKIの方も更新感謝。ところで、 >プロジェクトファイルがあるフォルダの下に、"Shortcut" という名前のフォルダを作成し、 >その中にショートカットファイルを入れておくことで、統合環境のプロジェクトワークスペースの >ファイルタブのショートカットフォルダにショートカットの一覧が表示されます。 >それらをダブルクリックすることで、そのショートカットを実行できます。 とマニュアルに書いてあるのですが、これはどういうファイルが実行されるんでしょう?
- 336 名前:名前は開発中のものです。 mailto:sage [2007/12/19(水) 22:49:07 ID:tM4C1oFz]
- やってみれば解るけどそのショートカット元のプログラムが実行されるよ
っつーか今まで知らなかったけどこれ便利だな とりあえず電卓は常に入れておく事にしよう
- 337 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 10:38:52 ID:TLPoSiAJ]
- 戦国ランスのソースとかってないのか?
戦国みたいなゲーム作りたいがどこがどうなってるのかよく分からん(´・ω・`)
|

|