Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void evacuationPlan(Planet &planet){
- int posShip, posBase;
- bool libres;
- int encontradas = 0;
- char respuesta;
- if(planet.ships.size() != 0){
- libres = existeNaveLibre(planet);
- if(libres == true){
- do{
- posShip = searchBestFreeShip(planet.ships);
- posBase = searchFirstBase(planet.bases, planet.ships[posShip]);
- cout << "Chosen ship: ";
- printShip(planet.ships[posShip], cout);
- encontradas = 0;
- while(posBase != -1){
- encontradas++;
- planet.ships[posShip].curPeople += planet.bases[posBase].people;
- planet.ships[posShip].curEquipment += planet.bases[posBase].equipment;
- // printBase(planet.bases[posBase]);
- planet.ships[posShip].bases.push_back(planet.bases[posBase]);
- planet.bases.erase(planet.bases.begin() + posBase);
- posBase = searchNextBase(planet.bases, planet.ships[posShip]);
- }
- libres = existeNaveLibre(planet);
- if(encontradas != 0){
- printPlanetWithBases(planet, cout);
- }
- }while(libres == true && encontradas != 0);
- }
- cout << "Save evacuation plan (Y/N)? ";
- cin >> respuesta;
- cin.get();
- if(respuesta == 'Y'){
- // saveThePlanet(planet);
- saveTheCoolPlanet(planet);
- }
- for(int i = 0; i < planet.ships.size(); i++){
- for(int j = 0; j < planet.ships[i].bases.size(); j++){
- planet.bases.push_back(planet.ships[i].bases[j]);
- }
- planet.ships[i].curPeople = 0;
- planet.ships[i].curEquipment = 0;
- planet.ships[i].bases.clear();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement