[過去ログ] 【アリス】system4.0【御用達】 (563レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
308: 名前は開発中のものです。 [sage] 2007/11/01(木) 11:16:48 ID:4l261QOy(1) AAS
 大丈夫でしょ。 
 面倒な計算はそれこそPCにさせればいい。 
309: 名前は開発中のものです。 [sage] 2007/11/01(木) 11:33:17 ID:mCtKzBY/(4/4) AAS
 何という恐怖 
 システム4.0を突き詰めれば 
 大概のゲームが作れるとわ… 
  
 数学分からないとか言い訳せず 
 頑張ってみる 
310: 名前は開発中のものです。 [sage] 2007/11/01(木) 19:34:57 ID:gkLUOEZ3(1) AAS
 究極に突き詰めたら、 
 最初にゲームシステムDLLを呼び出したまま最後まで返ってこなくなる気がする。 
 まあそこまで行ったら他のフリーライブラリのほうがいいんじゃね?とも思うが。 
311: 名前は開発中のものです。 [sage] 2007/11/02(金) 17:38:20 ID:LI5jfqFF(1) AAS
 俺はアリス儲だからsystem4.0でやる事に意義がある 
 まあたいしたもん作ってないけどさw 
312: 名前は開発中のものです。 [sage] 2007/11/02(金) 23:44:46 ID:n3OSdW5H(1) AAS
 ユーザークラブのZEROは「こういうのも作れます」 
 のよい見本だと思う。 
313(2): 名前は開発中のものです。 [sage] 2007/11/05(月) 22:47:48 ID:eDoMJSU2(1) AAS
 うー実行時に 
  
 【HLLからIString::Set()が呼ばれましたが、stringの実体は一時オブジェクトです】 
  
 と出る……。 
 これがintの場合は大丈夫なのに何故でしょう。 
314: 名前は開発中のものです。 [sage] 2007/11/06(火) 21:18:33 ID:dVZUWYYT(1) AAS
 >313 
 ふと思ったんだが、dll.func("ABC")とかやってない? 
 ref stringで。 
 いや、参照じゃなくてもこれができるかはわかんないし、 
 intなら大丈夫の意味もわかんないんだけど。 
  
 もし自前DLL作ってるなら、 
 どういう風に呼び出してるかとかHLLとか出してみてよ。 
 (そのままじゃなくてもいいから) 
315: 名前は開発中のものです。 [sage] 2007/11/06(火) 23:18:45 ID:cZ2R0MB+(1/2) AAS
 それが自作のDLLを使用しているわけではないんです。 
 全体のソースをはらせていただきます。 
  
 外部リンク:wikiwiki.jp 
  
 無駄に量はありますが、エラーの条件は 
  
 RPG \ CHAR_MAKE \ tagObject.jaf 
  
 にある、object構造体のコンストラクタの一行です。 
 同ファイルの先頭にあるg配列の 
  
 array@object asChar[20]; 
  
 の要素数の倍、実行時にエラーメッセージが出るようですが、原因の見当がつきません。 
 ローカルでoName_baseを呼ぶ分には問題ないようです。 
 もし宜しければ教えて下さい。 
316: 名前は開発中のものです。 [sage] 2007/11/06(火) 23:23:09 ID:cZ2R0MB+(2/2) AAS
 あれ……テキストは直リンクできるのにZIPは出来ない? 
 このファイルです。 
  
 外部リンク:wikiwiki.jp 
317(1): 名前は開発中のものです。 [sage] 2007/11/07(水) 20:40:19 ID:aH1Zfske(1/2) AAS
 ええとごめん、時間がないからエラーの出る場所だけで。 
  
 game_main>asChar_Data>oCharMakeと辿っていって、 
 最終的にans_t::SString関数内の 
 if(szX != szA){asY[nL] = szX;return asY[nL];} 
 の行でエラーが出る。 
 asChar_Dataを呼ぶ前にAコマンドで止めて、 
 ブレークポイント使ってステップ実行するとわかると思う。 
  
 ただ、使い方が間違ってるのかどうかまではわかんない。 
 (ライブラリの作者さんならわかりやすいのかな) 
 あと、intなら大丈夫の意味も未だにわかんない。 
318(2): 名前は開発中のものです。 [sage] 2007/11/07(水) 22:25:35 ID:aH1Zfske(2/2) AAS
 ふと思いついて、 
 if(szX != szA){asY[nL] = szX;return asY[nL];}  
 を 
 if(szX != szA){asY.Erase(nL);asY.Insert(nL, szX);return asY[nL];}  
 としたらエラーはなくなったんだが、 
 これは>313、ライブラリ作者さん共に正しい動作になってるか? 
319(1): 名前は開発中のものです。 [sage] 2007/11/07(水) 23:13:39 ID:xpaYlRaB(1) AAS
 >>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(1): 318 [sage] 2007/11/08(木) 19:54:53 ID:mXVUOzqf(1) AAS
 あ、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: 名前は開発中のものです。 [sage] 2007/11/08(木) 19:56:16 ID:NpNB32t6(1/2) AAS
 代入はできませんが、加算代入はできるようなので、とりあえず↓こういう形でしのぐことにしました。 
  
 とはいえ、何故「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: 名前は開発中のものです。 [sage] 2007/11/08(木) 20:02:41 ID:NpNB32t6(2/2) AAS
 >>320 
 どうも有り難うございますー。上手くいきました。 
 値に干渉するのはよくて代入だけ駄目というのは本当何なんだろう……。 
323: 名前は開発中のものです。 [sage] 2007/11/10(土) 18:30:17 ID:EfYdmYW2(1/2) AAS
 まとめwikiからHLLshotcat.zipをダウンロードしたんだがパスが解らん 
 送られてきた会報のメールを確認してユーザーID入れてるんだが上手くいかないorz
324: 名前は開発中のものです。 [sage] 2007/11/10(土) 18:34:59 ID:EfYdmYW2(2/2) AAS
 と思ったら出来た 
 スレ汚しスマソ 
325: 名前は開発中のものです。 [sage] 2007/11/13(火) 07:08:47 ID:E7kpa99+(1) AAS
 気がつくとWIKIもグーグルの1ページ目だなあ。内容は 
 初心者向けなのか上級者向けなのか分からないところはあるが……。 
326: 名前は開発中のものです。 [sage] 2007/11/19(月) 00:19:07 ID:5fRgCIrj(1) AAS
 いいってことよ 
327: 名前は開発中のものです。 [sage] 2007/11/28(水) 23:43:23 ID:GQA8QXik(1) AAS
 最近、関数や機能の整理ためにクラス使い出したんだけど、 
 クラス内のメソッド関数にデフォルト引数って使えんの? 
  
 「メソッド定義にデフォルト引数は使用できません」 
  
 ってエラーになっちゃうんだけど。 
  
 マニュアルのデフォルト引数の説明見る限りは使えるっぽいんだけどなあ。 
328: 名前は開発中のものです。 [sage] 2007/11/29(木) 01:38:38 ID:YNi9MS+N(1) AAS
 メソッドを分割して定義してるなら、上に定数を入れたらできたよ。 
329: 名前は開発中のものです。 [sage] 2007/11/29(木) 06:18:36 ID:Z4mGFDpB(1/2) AAS
 メソッド定義って出てるからそっちに書いてるんじゃない? 
 実装側に書かないと。 
330: 名前は開発中のものです。 [sage] 2007/11/29(木) 06:23:12 ID:Z4mGFDpB(2/2) AAS
 ごめん、違ってた。 
 忘れてorz 
331: 名前は開発中のものです。 [sage] 2007/11/29(木) 21:24:17 ID:vAxuvCot(1) AAS
 おお、なるほど。 
 クラスの定義側で定数入れて、 
 実装側は引数の宣言だけしておけばいいのか。 
  
 定義と実装両方同じにしておかないといけないと思ってましたorz
332: 名前は開発中のものです。 [] 2007/12/10(月) 19:19:39 ID:MKJaX+BI(1) AAS
 age 
上下前次1-新書関写板覧索設栞歴
あと 231 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s