void Character::deleteActivePatterns() { std::list<Pattern*>::iterator i = getActivePatterns()->begin(); while (i != getActivePatterns()->end()) { Pattern*p=(Pattern*)*i; p->hit(); i++; } }
void Enemy::logic(int stage_velocity, string stage_name, int global_iteration, string username) { animationControl(); spellControl(stage_velocity); for (std::list<Pattern*>::iterator pattern = active_patterns->begin(); pattern != active_patterns->end(); pattern++) { Pattern* p = (Pattern*)*pattern; double distance_x= player->getHitbox().getX() - p->getX(); double distance_y= player->getHitbox().getY() - p->getY(); if (p->getHoming() != 0) { p->setAngle(-atan2(distance_y,distance_x)*180/PI); } else if(p->getAimPlayer()) { p->setAngle(p->getAngle()-atan2(distance_y,distance_x)*180/PI); } } if(this->hp>0) modifiersControl(); else { if(orientation!="destroyed" && flag_begin_upload) { orientation="destroyed"; if(this->sonido->soundExists(name+".destroyed")) this->sonido->playSound(name+".destroyed"); this->hitbox.setValues(0,0,0,0,0); //Delete bullets std::list<Pattern*>* active_patterns=getActivePatterns(); std::list<Pattern*>::iterator i = active_patterns->begin(); while (i != active_patterns->end()) { Pattern*p=(Pattern*)*i; active_patterns->erase(i++); delete p; } // RosalilaNetwork network(painter); // //score_upload_message = network.runTcpClientSendScore(31716, "108.59.1.187",stage_name, username, global_iteration); // score_upload_message = network.runTcpClientSendScore(31716, "localhost",stage_name, username, global_iteration); } } this->angle+=this->angle_change / getSlowdown(); this->x += cos (angle*PI/180) * velocity / getSlowdown() + stage_velocity; this->y -= sin (angle*PI/180) * velocity / getSlowdown(); getIterateSlowdownFlag(); }