ゲームのアルゴリズムを教えて管sai (199レス)
上下前次1-新
82: 2007/09/07(金)14:22 ID:puv664XK(1) AAS
 >>79 
  
 これは酷いww 
 ワラタ 
  
 釣りだろ 
83: 2007/09/07(金)23:45 ID:ZuhXBmED(1) AAS
 せめて足すんぢゃなくてXょうゃ… 
 75は角度なんでそのまま使ったらヤバいょうな気がする; 
 角度たら360°ダロ? 
 75÷360ぽくね!? 
 少数点だし…ナンカ上手く曲がりソウぢゃん!? 
  
 こんな感じでゲームを創ってたアノ頃……… 
 (涙)
84: 2007/09/08(土)13:11 ID:ZvPWIcCC(1) AAS
 まぁいろいろトライするのが思い出になるんだよな。 
85: 2007/09/08(土)13:34 ID:x0k7gG8Z(1) AAS
 Deg と Rad を知らなかったあの頃 
86: 2007/09/12(水)20:10 ID:u002ijju(1) AAS
 >>79 
 #define RAD 3.14159/180 
 って定義しておいて、 
  
 x+=cos(45*RAD)*speed; 
 y-=sin(45*RAD)*speed; 
  
 でいけると思うよ。
87: 2007/11/18(日)11:26 ID:kpbdlgGK(1) AAS
 質問させて下さい。  
 ユーザーに手書きで図形を書かせ、  
 それが丸なのか四角形なのか三角形なのかを判別したいのですが  
 どのようなアルゴリズムが考えられますでしょうか?  
88: 2007/11/18(日)11:37 ID:RmDGoqPy(1) AAS
 ふたつかんがえた。もちろん使ったことはない。 
 ・描画速度の変化をみる 
 (角を描くときに速度が落ちるので、2回落ち込むと三角形とか) 
 ・描かれた線の接線のむきの分布みる 
 (三方向にピークが出ると三角形、とか)
89: 2007/11/18(日)21:55 ID:VoyUbEfi(1) AAS
 ・グリッドを作って通過するポイントで判定(文字認識?) 
 ・マウスの移動方向をxyの変化量で8つに分ける(マウスジェスチャ?) 
 俺も作ろっと 
90: 2007/11/25(日)15:24 ID:DZ368X4a(1) AAS
 NN 
91(1): 2008/02/11(月)21:08 ID:3BJFJrZO(1) AAS
 縦スクロールシューティングゲームを作ってるんですが、 
 敵の出現のやり方がいまいち分かりません。 
 今までは、マップを描画したときに、 
 敵の情報があったら、同時に表示して、その敵の情報を削除 
 してました。 
 何か、いいアルゴリズムがありましたら、教えてください。 
92: 2008/02/12(火)07:56 ID:qFBBafcB(1/2) AAS
 #define MAX_X 20 
 typedef struct _Map{ 
   int ShowX; 
   int ShowY; 
   int Type; 
   int Hp; 
   int X; 
   int Y; 
 }_Map;  
 _Map Map[MAX_X][500]; 
 void ShowEnemy(int ScY,MapChip Map) 
 { 
   for(i=0;i<MAX_X;i++) 
   { 
     if(ScrollY==Map[i][ScrollY/16].ShowY) 
     { 
       switch(Map[i][Scroll/16].EnemyNuber) 
       { 
         case 1: 
           CreateEnemy(i*16-ScrollX,0,1,3); 
           break; 
         case 2: 
           CreateEnemy(i*16-ScrollX,0,2,5); 
           break; 
         … 
         default: 
           break; 
       } 
     } 
   } 
 } 
93: 2008/02/12(火)08:03 ID:qFBBafcB(2/2) AAS
 ちなみに、CreateEnemyの引数は、X座標、Y座標、敵番号、耐久力だ。 
94: 2008/02/12(火)11:55 ID:5WyTfMV5(1) AAS
   
95: 2008/02/18(月)23:07 ID:YtDwWNhg(1) AAS
 >91 
 発生する時刻と座標のテーブル持ってればいいんじゃないの?
96(3): 2008/03/12(水)21:02 ID:K0/YrLVn(1) AAS
 今、C言語でシューティングゲーム作ってるんですが、 
 連続した弾の出し方が分かりません。教えてください。 
 専門学校の先生には、配列を使えと言われたのですが、 
 よく分かりません。 
  
 今、作成している途中のソースコードを書きます。 
  
 void Shot(void) 
 { 
   for(i=0;i<100;i++) 
   { 
     if(Bullet[i].flag == 0 && Bullet[i].type == 0) 
     { 
       Bullet[i].flag = 1 ; 
       Bullet[i].x = (Jiki.x+Jiki.x+Jiki.width) / 2 ; 
       Bullet[i].y = Jiki.y ; 
     } 
   } 
 } 
  
 void KeyCheck(void) 
 { 
   if(GetAsyncKeyState(VK_SPACE)<0){ Shot(); } 
 } 
97(1): 2008/03/13(木)08:25 ID:3HHTp0zC(1/2) AAS
 それだと一回ボタン押したら毎回100発の弾が重なって発射されるけど、それでいいの? 
 どうしたいの? 
98(1): 96 2008/03/13(木)16:41 ID:xt6KljbL(1) AAS
 >>97 さん 
 ある程度、間隔を置いて、発射させたいんですぅ。 
 毎回、100発の弾が重なるのは、耐え難い事実なんです。 
99: 2008/03/13(木)22:54 ID:Bu/r75Um(1) AAS
 大金を払い専門的な職業訓練を受けているはずの学生がこんなことすら自力で出来ない 
 「耐え難い事実」というならむしろこれw 
100: 2008/03/13(木)23:13 ID:3HHTp0zC(2/2) AAS
 >>98 
 60フレーム/秒でKeyCheckは毎フレーム呼ばれるの? 
101: 2008/03/14(金)17:31 ID:46wpxx7U(1) AAS
 >>96 
 if文の中の最後にbreak;入れると幸せになれるぞ 
102(3): 2008/03/19(水)01:43 ID:bv/3obIk(1/2) AAS
 適切なスレが見つからないのでここで質問させてください。 
 携帯電話アプリのシューティングを作っているのですが、 
 2D描画の処理を軽くする方法がわかりません。 
 個々のgifファイルを軽量化してみたりもしましたが、効果があるのかどうか分からないくらいです。 
 クリッピング領域を指定する方法もあるようですが、いまいちよく分かりません。 
 他に効果的な方法は無いものでしょうか。 
103(1): 2008/03/19(水)09:04 ID:a6WC8gIo(1) AAS
 >>102 
 画像の数を減らして、同じ画像を使いまわすとか、 
 1秒間あたりの描画回数(FPS)を減らすとか。 
 あとは、一画面に同時に出現するオブジェクトの数を減らすとか、 
 背景のスクロールをあきらめるとか、 
  
 あと、ベンチマークツールがあればそれを使って、 
 ボトルネックとなっている処理(メソッド/関数)を分析してみるとか。
104: 2008/03/19(水)11:15 ID:MFS90Jv9(1) AAS
 >>102 
 プログラム実行中は結局ビットマップでメモリに保持させてるから効果がないと思うんだが… 
 予め画像のパレットを全て一緒の256色にしといてパレットを読み込ませないと。 
105: 102 2008/03/19(水)14:33 ID:bv/3obIk(2/2) AAS
 >>103 
 ありがとうございます。 
 >同じ画像を使いまわす 
 試してみようと思います。 
 これは一箇所に画像を読み込んでおいて、 
 その画像を使うオブジェクトが描画のたびにそこを参照するようにする、 
 ということで良いんでしょうか? 
 他のは、ゲームのバランス調整と平行して考えてみます。 
  
 >>102 
 すいません。そういうことに理解が無いもので・・・。 
 >予め画像のパレットを全て一緒の256色にしといてパレットを読み込ませないと。 
 これは良く使われる手法なのでしょうか? 
 それともgifファイルの軽量化に意味を持たせるための方法なのでしょうか? 
 どういう風に実装すれば良いのかさっぱり分からないので、後者なら諦めます・・・。 
 ありがとうございました。 
106: 2008/05/16(金)17:34 ID:ciTJLGhI(1) AAS
 大きな矩形の布地から、サイズの違う小さな矩形の布地を切り取る時、 
 余りの布面積が一番少なくなるよう、切り取る(小さな矩形を並べる) 
 アルゴリズムについて書かれた書籍、HP等をご存知でしたら、 
 教えて下さい。 
  
 よろしくお願いします。
107(1): 106 2008/05/19(月)13:08 ID:rhmqn4vd(1) AAS
 ↑この質問取り下げます。失礼しました。
108: 2008/05/19(月)14:26 ID:jyR28ttC(1) AAS
 >>107 
 移動するなら移動先を書いてくれ。 
  
 実は調べたり考えたりしてたんだが最小公倍数の矩形で 
 バックトラックするという馬鹿な方法しか思いつかなかったんだ。 
109: 2008/05/30(金)14:21 ID:Vu7kcDak(1/3) AAS
 >>96 
 100個程度ならいいですけど配列でもいいかもしれないけど 
 双方向リストとかを使うようにしたほうがいいかも。c言語だし。 
 まあこの辺は後ほど。 
 でも配列を使えとかいう講師に双方向リストを実装して提出したら 
 うらまれそうw 
  
 unsigned int KeyShotFrmCnt = 0;  //ショットキーのウェイト用カウンター 
 ↑これはソースの頭のほうに書いてね。 
  
 void KeyCheck(void) 
 { 
 ??if (KeyShotFrmCnt == 0) 
 ??{ 
 ???if(GetAsyncKeyState(VK_SPACE)<0) 
 ???{ 
 ????Shot(); 
 ????(KeyShotFrmCnt = 10; 
 ???} 
 ??} else { 
 ???--KeyShotFrmCnt;  
 ??} 
 } 
110: 2008/05/30(金)14:23 ID:Vu7kcDak(2/3) AAS
 うは、コピーしたらなんか辺になったorz 
 void KeyCheck(void) 
 { 
    if (KeyShotFrmCnt == 0) 
    { 
       if(GetAsyncKeyState(VK_SPACE)<0) 
       { 
          Shot(); 
          KeyShotFrmCnt = 10; 
       } 
    } else { 
       --KeyShotFrmCnt; 
    } 
 } 
111: 2008/05/30(金)14:28 ID:Vu7kcDak(3/3) AAS
 2chってスペース空けるの面倒だなw 
  
 AAエディタとかで整形してるのか? 
上下前次1-新書関写板覧索設栞歴
あと 88 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.008s