/* metoda care translateaza mingea si determina daca un joc s-a terminat sau nu, * respectiv modifica scorul pentru echipa care a dat gol */ void Game::passBall (bool &animation) { players[has_ball]->pass(ball); if (abs(ball->getCenter().y) - ball->getRay() > MAX_UP) { animation = false; ball->remove(); if (ball->getCenter().y > 0) { modifyScore("BLUE"); restore_ball("RED"); } if (ball->getCenter().y < 0) { modifyScore("RED"); restore_ball("BLUE"); } if (is_finished()) { restart(); } return; } for (int i = 0; i < NR_PLAYERS; i++) { if (ball->getDist(ball->getCenter(), players[i]->getCenter()) <= ball->getRay() + players[i]->getRay()) { animation = false; has_ball = i; } } }
void removeMinion(int k, int j) { waves[k].m[j].inPlay = 0; modifyScore(k+1); modifyMoney(1,waves[k].m[j].money); }