Example #1
0
/* 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;
		}
	}
}
Example #2
0
void removeMinion(int k, int j)
{
  waves[k].m[j].inPlay = 0;
  modifyScore(k+1);
  modifyMoney(1,waves[k].m[j].money);
}