Пример #1
0
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";
 }