龍神録14章について質問です。

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

龍神録14章について質問です。

#1

投稿記事 by 1市民 » 14年前

こんにちは。私はC言語の知識がほとんどなく、現在龍神録のコードを打ち込んで説明を読んで覚えていっている状態です。
コンパイラはVISUALC++2008です。

本題に入ります。
今14章をやっているのですが、敵が出現して弾を打つ時に、どの敵も1発ずつしか弾を打ちません。
ためしに15章のみょん弾幕もやってみたのですが、1発(厳密には1発ではなく円形に発射する弾幕1セット)
しか撃ちませんでした。

コードミスかと思い13章と14章の部分をコピー&ペーストしたのですがやはり1発ずつになってしまいます
自分なりに考えてみたのですが

コード:

void shot_calc(int n){
	int i,max=0;
	if(enemy[shot[n].num].flag=1)
		shot[n].flag=2;
	for(i=0;i<SHOT_BULLET_MAX;i++){
		if(shot[n].bullet[i].flag>0){
			shot[n].bullet[i].x+=cos(shot[n].bullet[i].angle)*shot[n].bullet[i].spd;
			shot[n].bullet[i].y+=sin(shot[n].bullet[i].angle)*shot[n].bullet[i].spd;
			shot[n].bullet[i].cnt++;
			if(shot[n].bullet[i].x<-50 || shot[n].bullet[i].x>FIELD_MAX_X+50 ||
				shot[n].bullet[i].y<-50 || shot[n].bullet[i].y>FIELD_MAX_Y+50){
					if(shot[n].bullet[i].till<shot[n].bullet[i].cnt)
						shot[n].bullet[i].flag=0;
			}
		}
	}

	for(i=0;i<SHOT_BULLET_MAX;i++)
		if(shot[n].bullet[i].flag>0)
			return;
	if(enemy[shot[n].num].flag!=1){
			shot[n].flag=0;
			enemy[shot[n].num].flag=0;
	}
}

void shot_main(){
	int i;
	for(i=0;i<SHOT_MAX;i++){
		if(shot[i].flag!=0 && 0<=shot[i].knd && shot[i].knd<SHOT_KND_MAX){
			shot_bullet[shot[i].knd](i);
			shot_calc(i);
			shot[i].cnt++;
		}
	}
}
に原因があるのでしょうか?


それともう1つ出して申し訳ないのですが
c:\users\user\desktop\project\1章\mydat\source\graph.cpp(37) : warning C4244: '引数' : 'double' から 'float' への変換です。データが失われる可能性があります。
この警告はdoubleで宣言しているのに1.0f等でfloat型になっているから警告を出しているだけであって
1.0や0.0のようなdoubleでも対応できるデータだからデータが失われることもないので問題なし。ってことで合ってますか?

初歩的な質問ばかりで申しわけないのですがもしよろしければご助言お願い致します。

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: 龍神録14章について質問です。

#2

投稿記事 by h2so5 » 14年前

3行目の条件式が変ですね。

1市民

Re: 龍神録14章について質問です。

#3

投稿記事 by 1市民 » 14年前

お早い返答ありがとうございます!

出ました。あほすぎる質問すみませんでしたorz

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: 龍神録14章について質問です。

#4

投稿記事 by みけCAT » 14年前

解決でしたら、解決チェックをお願いします。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

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