Beispiel #1
0
// 弾情報更新
void update_shot(void)
{
	int i, j;

	// 全ての弾について、現在位置を更新した後
	// 衝突判定を行い、衝突している弾を殺す。
	// *** 弾が当たっている場合は、何かフラグでも立てた方がいいかな?(得点計算的に)
	// *** 描画関数は呼び出さなくていいんだよね? <- いいよ
	calcShotPosAll();
	for(i=0; i<NUM_OF_SHOTS; i++){
		// 衝突判定は、生きている弾についてのみ行う
		if(shot[i].alive != 0){
			for(j=0; j<p_character; j++){
				if(isHit(&shot[i], &character[j]) == 1 && character[j].alive){
                    // 衝突した!!
					if (character[j].score == 10 || character[j].score == 50)
                    	score += character[j].score; // スコア加算
					else 
                    	score += 10; // スコア加算
                    //printf("HIT!!!  score = %d\n", score);
                    character[j].alive = 0; // キャラクタ死亡
					shot[i].alive= 0; // 弾死亡
                    used_shots++;
				}
			}
		}
	}

}
Beispiel #2
0
// 弾情報更新
void update_shot(void)
{
	int i, j;

	// 全ての弾について、現在位置を更新した後
	// 衝突判定を行い、衝突している弾を殺す。
	// *** 弾が当たっている場合は、何かフラグでも立てた方がいいかな?(得点計算的に)
	// *** 描画関数は呼び出さなくていいんだよね? <- いいよ
	calcShotPosAll();
	for(i=0; i<p_shot; i++){
		// 衝突判定は、生きている弾についてのみ行う
		if(shot[i].alive != 0){
			for(j=0; j<p_character; j++){
				if(isHit(&shot[i], &character[j]) == 1){
					shot[i].alive= 0;
				}
			}
		}
	}

}