void PokemonBox::addPokemon(const PokeTeam &poke, int slot) throw(QString) { if (isFull()) throw tr("The box is full!"); int spot = slot==-1 ? (pokemons[currentPoke] == NULL ? currentPoke : freeSpot()) : slot; pokemons[spot] = new TB_PokemonItem(new PokeTeam(poke), this); addGraphicsItem(spot); changeCurrentSpot(spot); }
/* *freeZone function * *z : a pointer to struct zone * *this function will free the space allocated for a struct zone */ void freeZone(struct zone *z) { int i; if(z -> zone_name != 0) free(z -> zone_name); freePerimeter(z -> zone_perimeter); for(i = 0; i < z -> number_of_parking_spots; i++) freeSpot(z -> parking_spots_list[i]); free(z -> parking_spots_list); free(z); }