Пример #1
0
void TowerManager::sellTower(int tileX, int tileY)  {
	if(!outOfBound(tileX, tileY) && isTileFree(tileX, tileY))
		return;
	Game::player.earnCash(towers[make_pair(tileX, tileY)]->getSellCost());
	std::cout << blue << towers[make_pair(tileX, tileY)]->getName() << " sold for "
		<< towers[make_pair(tileX, tileY)]->getSellCost()
		<< " coins!" << std::endl;
	delete towers[make_pair(tileX, tileY)];
	towers.erase(make_pair(tileX, tileY));
}
Пример #2
0
void Graph::drawBigDot(Point_2D p, Color c, int size){
  float x = p.x , y = p.y, newX, newY; 
  for(int i = -(size/2) ; i <= (size/2); i++){
    for(int j = -(size/2) ; j <= (size/2); j++){
      //DPRINT("BIGDOT: %.2f, %.2f\n", x+i, y+j);
      newX = x+i;
      newY = y+j; 
      if( outOfBound( (int)round(newX), (int)round(newY) ))
              continue; 
      drawPixel( {newX, newY}, c);        
    }
  }
}
Пример #3
0
void Entities::move(){
    std::list<std::list<Entity*>::iterator> iterToRemove;

    for (auto it = entities.begin(); it != entities.end(); it++){
        (*it)->move();
        if (outOfBound(**it)){
            //On ne peut supprimer pendant une iteration 
            //donc on ajoute ce qui doit l'etre a une liste
            iterToRemove.emplace_back(it);
        }
    }
    for (auto it : iterToRemove){
        removeEnemy(it);
    }
}