static void manageFleets() { if (Fleets != null) for (int counter = 0; counter < Fleets.length; counter++) { if (Fleets[counter].getTurnsUntilArrival() > 1) Fleets[counter].setTurnsUntilArrival(Fleets[counter].getTurnsUntilArrival() - 1); else { for (int counter2 = 0; counter2 < getPlanets().length; counter2++) { if (Fleets[counter].getDestination() == getPlanets()[counter2]) { if(Fleets[counter].getOwner() == Fleets[counter].getDestination().getOwner()) { getPlanets()[counter2].setNumberOfShips(getPlanets()[counter2].getNumberOfShips() + Fleets[counter].getNumberOfShips()); if (Fleets.length - 2 == 0) setFleets(null); else { Fleet[] TempFleet = new Fleet[Fleets.length - 1]; for(int counter3 = 0; counter3 < counter; counter3++) TempFleet[counter3] = Fleets[counter3]; for(int counter3 = counter + 1; counter3 < Fleets.length; counter3++) TempFleet[counter3 - 1] = Fleets[counter3]; setFleets(TempFleet); } } else { if (getPlanets()[counter2].getNumberOfShips() > Fleets[counter].getNumberOfShips()) { getPlanets()[counter2].setNumberOfShips(getPlanets()[counter2].getNumberOfShips() - Fleets[counter].getNumberOfShips()); } else { getPlanets()[counter2].setNumberOfShips(Math.abs(getPlanets()[counter2].getNumberOfShips() - Fleets[counter].getNumberOfShips())); getPlanets()[counter2].setOwner(Fleets[counter].getOwner()); if (Fleets.length - 1 == 0) setFleets(null); else { Fleet[] TempFleet = new Fleet[Fleets.length - 1]; for(int counter3 = 0; counter3 < counter; counter3++) TempFleet[counter3] = Fleets[counter3]; for(int counter3 = counter + 1; counter3 < Fleets.length; counter3++) TempFleet[counter3 - 1] = Fleets[counter3]; setFleets(TempFleet); } } } } } } } }