Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package model.placement;
- import model.Coordinates;
- import model.placement.ship.Direction;
- import model.placement.ship.PlacedShip;
- import java.util.ArrayList;
- import java.util.List;
- public class FleetBuilder {
- private Fleet<PlacedShip> fleet;
- public FleetBuilder(Fleet<PlacedShip> fleet) {
- this.fleet = new Fleet<>();
- }
- public Fleet<PlacedShip> build() {
- return fleet;
- }
- public FleetBuilder appendShip(Coordinates headCoordinates, Direction direction, int mastNumber) {
- List<Coordinates> shipCoordinates = new ArrayList<>();
- Coordinates currentMastCoordinates = headCoordinates;
- for (int i = 0; i < mastNumber; i++) {
- shipCoordinates.add(currentMastCoordinates);
- currentMastCoordinates = currentMastCoordinates.add(direction.nextCoordinates());
- }
- PlacedShip placedShip = new PlacedShip(shipCoordinates);
- fleet.add(placedShip);
- return this;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement