void Logic::swap_enemy(){//判断敌机是否被主机子弹击中 vector <Bullet*>::iterator iter1=me_bullets.begin(); bool flag = false; while(iter1 != me_bullets.end()){ flag = false; vector<EnemyPlane*>::iterator iter2 = enemy.begin(); while(iter2 != enemy.end()){ if((*iter2)->hit((*iter1)->getpos(),(*iter1)->getwidth(),(*iter1)->getheight())){ flag = true; (*iter2)->blood -= (*iter1)->get_hurt(); iter1 = me_bullets.erase(iter1); if((*iter2)->destroy()){ background->add_score((*iter2)->type); create_things((*iter2)->pos); add_to_explode((*iter2)->explode,(*iter2)->getpos()); free(*iter2); iter2 = enemy.erase(iter2); } break; } else iter2++; } if(!flag) iter1++; } }
void end_of_elaboration() { std:: cout << "\n---8<--- end_of_elaboration ---8<---\n"; create_things(); std:: cout << "\n--->8--- end_of_elaboration --->8---\n"; }
void start_of_simulation() { std:: cout << "\n---8<--- start_of_simulation ---8<---\n"; create_things(); std:: cout << "\n--->8--- start_of_simulation --->8---\n"; }