[過去ログ] 【アリス】system4.0【御用達】 (563レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
345: 名前は開発中のものです。 [sage] 2007/12/28(金) 23:22:01 ID:KfUqS68a(1) AAS
 >>338338(1): 名前は開発中のものです。 [sage] 2007/12/25(火) 21:41:17 ID:rTg9VkUH(1) AAS
 ない。 
  
 具体的に、ココがこう判らん、という話なら 
 教えるなり議論するなり、話の種くらいにはなるかもしれないが  
やっぱり無いのか(´・ω・`) 
  
 じゃあ質問なんだが 
 戦国で相手の行動パターンってどんなかんじで作ってあるんだ? 
 交戦状態のときとか兵数が一定以下になったら攻めるのをやめるみたいな感じなんだろうけど 
 どういう風に書けば良いのかわからん
346: 名前は開発中のものです。 [sage] 2007/12/28(金) 23:45:23 ID:MhwWZ8rw(1) AAS
 説明が難しいな……。国データと直結している。 
 多分国データの内部にある武将データが関係。 
347: 名前は開発中のものです。 [sage] 2007/12/29(土) 00:35:25 ID:kfiiBsKO(1) AAS
 struct 武将{ 
  兵数 
  種別(前衛or後衛) 
 } 
 struct 軍団プリセット{ 
  種別[6] 
 } 
 struct 国{ 
  武将配列、軍団プリセット配列 
 } 
 軍団プリセット 全部忍者 = {忍者、忍者、忍者、忍者、忍者、忍者} 
 軍団プリセット バランス[1] = {武士、僧兵、なし、弓、巫女} 
 軍団プリセット バランス[2] = ・・・ 
  
 void ターン(){ 
  for(国ID=0 ; 国ID<国数 ++国ID){ 
   if(交戦中フラグ[国ID]){ 
    国行動( 国ID ) 
 }}} 
 国行動( 国ID ) 
 { 
  if(合戦回数=1) 
   rerurn 全部忍者 
   
  for(int i=0 ; i<試行回数 ; ++i) 
   if( 派遣できる?関数( 国データ,バランス[ramdom] ) ) return バランス[ramdom]; 
  return 待機 
 } 
  
 ごめんかなり適当に考えた 
 複数回行動は定数とか割合を基準にして適当に計算したら楽だけど 
 SLG作るならもっとスマートにやらなきゃいかんのかな・・・ 定数使うのは意外とアリだと思うけど 
348: 名前は開発中のものです。 [sage] 2007/12/30(日) 15:11:34 ID:8hcAIO7D(1) AAS
 SLG作る際に重要な機能ってなんだ?
349: 名前は開発中のものです。 [sage] 2007/12/30(日) 17:34:45 ID:iIx8r+UB(1) AAS
 構造体かな? 
 あと関数呼び出しのオブジェクト(関数ポインタだっけ)。 
 RPGでも重要だけど、思考ルーチンはSLGの方が重視されがちだし。 
350:  【末吉】  [sage] 2008/01/01(火) 01:34:40 ID:ZLqCplPi(1) AAS
 あけおめことよろ。 
 さて今年の開発進行はどうかなっと 
 おーみーくーじー 
351: 名前は開発中のものです。 [sage] 2008/01/02(水) 18:38:49 ID:yjODYZJu(1) AAS
 構造体同士のメンバ変数全部加算させるみたいな事出来ないものか・・・ 
352: 名前は開発中のものです。 [sage] 2008/01/02(水) 22:03:35 ID:vVbqFkaY(1) AAS
 演算子のオーバーロードがやりたいなら、無理だ。 
  
 普通に、構造体を2つ渡す関数を用意するのじゃ駄目かね? 
353: 名前は開発中のものです。 [sage] 2008/01/03(木) 00:22:17 ID:J9suxAsk(1/2) AAS
 初歩的な質問で申し訳ないけど……。 
 整数を16進数で返す方法ってありますか? 
354: 名前は開発中のものです。 [sage] 2008/01/03(木) 09:20:17 ID:fZeOkcpH(1) AAS
 Sys4に限らないと思うけど、 
 2進数も10進数も16進数も、表記法が違うだけで中身は同じだよ。 
  
 10進数16が、16進数0x10という見た目になるだけであって 
 どちらもint型変数に格納できる。 
355(2): 名前は開発中のものです。 [sage] 2008/01/03(木) 10:31:39 ID:J9suxAsk(2/2) AAS
 はい。つまり表記で返すやり方を知りたいのです。 
 例としては、整数65535 を 文字列"FFFF" で返すということです。 
356: 名前は開発中のものです。 [sage] 2008/01/03(木) 16:11:12 ID:X7Gj3bxx(1) AAS
 >>355 
 プログラムの中で返したいの? 
  
 って、変換した奴だけ使いたいなら、いくらでもソフトあるか。 
357: 名前は開発中のものです。 [sage] 2008/01/04(金) 08:38:05 ID:bR+AzSYo(1) AAS
 >>355 
 いろいろ試してみたけどむずかしい。10→16なら簡単なんだけどね。 
 方法を予想してみると、とりあえず16進数の桁数だけ領域を取った一次元のint配列に 
 「1-15」までの要素を入れ、最後にくっつけるやり方がスマートかもしれない。10進数から 
 16進数の桁数を算出する方法と、要素に16進数での値を入れる方法さえ分かればできると思う。 
 (俺はわからない) 
358(2): 名前は開発中のものです。 [sage] 2008/01/04(金) 12:15:27 ID:Bc3fruj+(1/2) AAS
 "%x"とかじゃ駄目なんか 
359: 名前は開発中のものです。 [sage] 2008/01/04(金) 13:36:14 ID:ZvrZQLG7(1/2) AAS
 間違えた。16→10だ。 
 つまり"FFFF"を 65535 にするならWIKIを参考にできるんだが。 
  
 >>358 
 "%x"って何だっけ? 
 出力変換なら、そういうのは無かったように思う。 
360: 名前は開発中のものです。 [sage] 2008/01/04(金) 14:18:47 ID:Bc3fruj+(2/2) AAS
 適当にググったらCめいた出力変換が出来る様なことが書いてあったよ 
 外部リンク[html]:www.geocities.jp 
 俺はsystem4.0使ってないから無責任な発言ですまんが 
361: 名前は開発中のものです。 [sage] 2008/01/04(金) 15:48:13 ID:VVEb3/k/(1) AAS
 れつとれさんとこのは使い方が違うような…… 
 蛙のダンジョンさんとこのソースがいいんじゃない? 
362: 名前は開発中のものです。 [sage] 2008/01/04(金) 17:04:16 ID:i/Zwdvnb(1) AAS
 蛙のだんじょん!ところの人です。 
 頑張ってソース書いたけど、れつとれさん所の解説読んだら、出力変換できました。 
 以下ソース。(パラメータあんまりよく分かってません) 
  
 void 10→16進数(){ 
 int 元=RAND(2147483647); 
 string 結果="%0X" % 元; 
 '10進数:'NH(元);R; 
 '16進数:'S(結果);A; 
 } 
363: 名前は開発中のものです。 [sage] 2008/01/04(金) 19:34:30 ID:ZvrZQLG7(2/2) AAS
 おおほんとうだ。マニュアルには 
 int値変換%d float値変換%f string値変換%s char値変換%c bool値変換%b 
 しか書かれてなかったから試さなかった。すまん>358。 
  
 "%X"は2バイト文字ではなく大文字になるみたいだね。 
 ありがとう熾憂さん。 
364: 名前は開発中のものです。 [sage] 2008/01/09(水) 20:42:47 ID:oVZERYj2(1) AAS
 >>356-363 
 遅くなりましたが有り難うございます。 
 おかげで型sz、引数intの関数をつくれました。 
365: 名前は開発中のものです。 [sage] 2008/02/02(土) 22:57:39 ID:ykvhHgTN(1) AAS
 プログラマ募集キター!!! 
 腕に自身のある奴、行っとけ! 
  
 俺は無理orz 
366: 名前は開発中のものです。 [sage] 2008/02/03(日) 00:14:39 ID:fzEiLEZm(1) AAS
 大阪まで通えません>< 
  
 そもそも腕に自信もないがorz 
367: 名前は開発中のものです。 [sage] 2008/02/14(木) 15:33:24 ID:lFvH5fEb(1) AAS
 SACT2関数の 
 REGISTER_MESSAGE_CALLBACKとSACT_MESSAGE_REGISTの 
 使い方が良くわかりません。 
 サンプルコードを試してみたがマニュアルにあるコードの実行例を再現できない。 
  
 ボスケテ 
368(1): 名前は開発中のものです。 [sage] 2008/02/16(土) 01:56:37 ID:OruBd+lh(1) AAS
 サンプルコードとは違うけど、コールバック関数内のreturnを消して、 
 一番最後にSACT_MESSAGE_REGISTを追加すれば、再現はできるよ。 
369(1): 名前は開発中のものです。 [sage] 2008/02/16(土) 02:16:48 ID:IniXt8yd(1) AAS
 ボス 決して走らず急いで歩いてきて そして早く僕らを助けて…か! むう lFvH5fEb…なんて難しい注文を! 
  
 蛙でございます。 
 //ユーザー定義コールバック関数 
 void game_message_callback(ref int nMsgNum,int nNumofMsg, ref string sText){ 
 //メッセージが 主人公 という文字列であれば ランス に置き換える。 
 if(sText=="主人公"){ 
 sText="ランス"; 
 nMsgNum = -1; 
 } 
 SACT_MESSAGE_REGIST(nMsgNum, sText); 
 } 
 void 初期化(){ 
 REGISTER_MESSAGE_CALLBACK(&game_message_callback); 
 } 
  
 SACT_MESSAGE_REGIST関数が''内の文字を表示させる関数っぽい。しかしmessage関数の処理を見たらユーザー定義コールバック呼出が設定されているときに、このSACT_MESSAGE_REGIST関数が処理されない感じだった(たぶん)。 
 SCAT弄るの嫌なのでユーザー定義のコールバック関数の方に追加。 
 なお、ソース見たらsact_message_callback_tは関数型だったので、REGISTER_MESSAGE_CALLBACKの引数はsact_message_callback_t型の関数を使えということだろうと。 
 多分マニュアルの単純な記述ミスだと思います。 
  
 関数型って何なんだ…って所から始めたので、正直合ってる自信がないけど、一応動いたことは動いたので、取りあえず動けばいいやってことでしたら。 
 正しい説明は他の人お願いします。 
上下前次1-新書関写板覧索設栞歴
あと 194 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s