Exemple #1
0
void Troop::recycle(Pet* pet) {
    //if already recycled
    if (pet->getIndex() >= cap) return;
    
    kickOut(pet);
    removeChild(pet, false);
    
    //todo: use a function in pet to reset the properties
    int newIndex = pet->getIndex() + cap;
    pet->setType(randomType());
    pet->setIndex(newIndex);
    int c = newIndex % 7;
    int r = 3 - newIndex / 7;
    
    pet->setPosition(ccp(Unit::GRID_SIZE * c + Unit::GRID_SIZE/2, Unit::GRID_SIZE * r + Unit::GRID_SIZE/2));

    pets->replaceObjectAtIndex(newIndex, pet);
}
	TermCollection( unsigned int nofTerms, unsigned int diffrange)
	{
		if (nofTerms < 1)
		{
			std::cerr << "ERROR number of distinct terms in the collection has to be at least 1" << std::endl;
			nofTerms = 1;
		}
		std::set<Term> termset;
		while (termset.size() < nofTerms)
		{
			unsigned int ti = termset.size();
			for (; ti < nofTerms; ++ti)
			{
				int diff = g_random.get( 0, (int)diffrange) - (int)diffrange/2;
				termset.insert( Term( randomType(), randomTerm(), diff));
			}
		}
		std::set<Term>::const_iterator ti = termset.begin(), te = termset.end();
		for (; ti != te; ++ti)
		{
			termar.push_back( *ti);
		}
	}