Advertisement
Guest User

FleetBuilder

a guest
Jul 21st, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.99 KB | None | 0 0
  1. package model.placement;
  2.  
  3. import model.Coordinates;
  4. import model.placement.ship.Direction;
  5. import model.placement.ship.PlacedShip;
  6.  
  7. import java.util.ArrayList;
  8. import java.util.List;
  9.  
  10. public class FleetBuilder {
  11.     private Fleet<PlacedShip> fleet;
  12.  
  13.     public FleetBuilder(Fleet<PlacedShip> fleet) {
  14.         this.fleet = new Fleet<>();
  15.     }
  16.  
  17.     public Fleet<PlacedShip> build() {
  18.         return fleet;
  19.     }
  20.  
  21.     public FleetBuilder appendShip(Coordinates headCoordinates, Direction direction, int mastNumber) {
  22.         List<Coordinates> shipCoordinates = new ArrayList<>();
  23.         Coordinates currentMastCoordinates = headCoordinates;
  24.  
  25.         for (int i = 0; i < mastNumber; i++) {
  26.             shipCoordinates.add(currentMastCoordinates);
  27.             currentMastCoordinates = currentMastCoordinates.add(direction.nextCoordinates());
  28.         }
  29.         PlacedShip placedShip = new PlacedShip(shipCoordinates);
  30.         fleet.add(placedShip);
  31.  
  32.         return this;
  33.     }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement