// 弾情報更新 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++; } } } } }
// 弾情報更新 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; } } } } }