STGの敵出現タイミングをどうやってコントロールすればいいのか・・・。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Japansatan

STGの敵出現タイミングをどうやってコントロールすればいいのか・・・。

#1

投稿記事 by Japansatan » 14年前

現在、初STGを作っている高校生なのですが、敵の出現のさせ方のプログラムの書き方に困っています。
学校での文化祭作品に初STGを出品しようと、こちらのシューティングゲームの館(http://dixq.net/s/)を使って書いているのですが、「もうここに書いてある内容についてはお答えする事が出来ません。」と書いてあり、どうしたらよいのかと思っていたのですが、やはり分からず質問してしまいました。
このページのプログラム構造は大体理解できたのですが、このプログラムはどうやらswitch(counter)で敵をコントロールしているようなので、そこの調整はしているのですが、これだと頭がこんがらがってしまって・・・。一応こんな感じに書いては見たのですが。。。

コード:

	switch(counter){
		case 40:
		case 41:
		case 70:
		case 71:
		case 100:
		case 101:
		case 130:
		case 131:
			enemy[i].range = (MONSTER1_X_SIZE-60)/2.0*enemy[i].size;
			enemy[i].flag = 1;  
			enemy[i].pattern = 11;//11は敵の移動と攻撃パターンを合わせて作った関数です。 
			enemy[i].counter = 0;
			enemy[i].size = 0.5f;
			enemy[i].x = counter;  
			enemy[i].y = 0;  
			enemy[i].hp = 5;  
			EnemyShot[i].pattern = 1;
			switch(counter){
		case 41:
			enemy[i].x = 370;
			break;
		case 71:
			enemy[i].x = 340;
			break;
		case 101:
			enemy[i].x = 310;
			break;
		case 131:
			enemy[i].x = 280;
			break;
			}
			break;
		case 170:
		case 171:
			enemy[i].range = (MONSTER1_X_SIZE-60)/2.0*enemy[i].size;
			enemy[i].flag = 1;  
			enemy[i].pattern = 11; 
			EnemyShot[i].pattern = 2;
			enemy[i].counter = 0;
			enemy[i].size = 0.5f;
			enemy[i].y = 0;  
			enemy[i].hp = 5;
			
			switch(counter){
					case 170:
						enemy[i].x = 130;
						break;
					case 171:
						enemy[i].x = 280;
						break;
			}
			break;
		default:
			break;
	}
もっと敵の出現パターンを増やしたいので、さらに書き足すと膨大な量になってしまうので、分かりやすく書く方法を探しています。
部活内での部長の立場ゆえに後輩への指導をしなければいけない立場で、このような複雑な構造だと中学生や始めたばかりの部員たちが混乱してしまうので、もっとわかりやすく書けないものかと試行錯誤をしているのですが、どうしてもさっぱりわかりません。
どうか、お願いします。

アバター
へろりくしょん
記事: 92
登録日時: 14年前
住所: 福岡

Re: STGの敵出現タイミングをどうやってコントロールすればいいのか・・・。

#2

投稿記事 by へろりくしょん » 14年前

龍神録では確か構造体で管理していたはずですが。

struct ENEMY{
  int count;    //出現するフレーム数
  int flag;
  int pattern;
  ・・・
} enemyList[敵の数分とか];

こんな風にしておいて

if(enemyList.count == counter){
  ここで、追加
}

みたいな。

Japansatan

Re: STGの敵出現タイミングをどうやってコントロールすればいいのか・・・。

#3

投稿記事 by Japansatan » 14年前

構造体で敵データを処理しちゃうってことですね。
了解です!組んでみます!!
もしかしたら、またあるのかもしれないので。その時はよろしくお願いします!

閉鎖

“C言語何でも質問掲示板” へ戻る