void freeKick47::execute() { QList<int> activeAgents=wm->kn->ActiveAgents(); // if(!rolesIsInit) initRole(); if( state > 3) initRolesB(AttackerRight,DefenderLeft); for(int i=0;i<activeAgents.size();i++) setTactics(activeAgents.at(i)); tAttackerMid->isKicker(Vector2D(0.3*Field::MaxX, -sign(wm->ball.pos.loc.y)*(0.6)*Field::MaxY)); tAttackerMid->setFreeKickType(kickType::FreeKick47); setPositions(activeAgents); if(state > 3) activeAgents.removeOne(tAttackerMid->getID()); while(activeAgents.size() > 0) { wm->ourRobot[activeAgents.takeFirst()].Status = AgentStatus::Idle; } }
void freeKick7::execute() { QList<int> activeAgents=wm->kn->ActiveAgents(); // if(!rolesIsInit) initRole(); if( state == 2) initRolesB(AttackerLeft,DefenderLeft); for(int i=0;i<activeAgents.size();i++) setTactics(activeAgents.at(i)); setPositions(activeAgents); int recieverID; tAttackerMid->isKicker(Vector2D(0.3*Field::MaxX, -sign(wm->ball.pos.loc.y)*(0.6)*Field::MaxY)); tAttackerMid->setFreeKickType(kickType::FreeKick7); if(state > 1) { recieverID = tAttackerLeft->getID(); activeAgents.removeOne(tAttackerMid->getID()); if(wm->cmgs.ourIndirectKick()) { wm->ourRobot[recieverID].Status = AgentStatus::RecievingPass; activeAgents.removeOne(recieverID); } } else { if( state == 1) activeAgents.removeOne(tAttackerMid->getID()); recieverID = tDefenderLeft->getID(); wm->ourRobot[recieverID].Status = AgentStatus::RecievingPass; activeAgents.removeOne(recieverID); } while(activeAgents.size() > 0) { wm->ourRobot[activeAgents.takeFirst()].Status = AgentStatus::Idle; } }