diff --git a/src/info1/ships/Ship.java b/src/info1/ships/Ship.java index 357b8b819b61ba79af12d0aec9fcbf2df88819d2..6c9ea6bc660d485df8c4b6a53e2cea17f45841eb 100644 --- a/src/info1/ships/Ship.java +++ b/src/info1/ships/Ship.java @@ -1,5 +1,7 @@ package info1.ships; +import info1.ships.*; +import java.util.ArrayList; import java.util.List; /** @@ -10,8 +12,9 @@ import java.util.List; public abstract class Ship implements IShip { private String name; - private String ayFront; - private String ayBack; + Coord cord1; + Coord cord2; + /** * NB : LA SIGNATURE DU CONSTRUCTEUR DOIT ETRE RESPECTEE @@ -27,26 +30,27 @@ public abstract class Ship implements IShip { public Ship(String name, String ayFront, String ayBack) throws BadCoordException, CoordsBadShipException { this.name=name; - this.ayBack=ayBack; - this.ayFront=ayFront; + this.cord1=new Coord(ayFront); + this.cord2=new Coord(ayBack); } @Override public List<ICoord> getCoords() { - return null; + ArrayList<ICoord> list = new ArrayList<>(); + list.add(cord1); + list.add(cord2); + return list; } @Override public ICoord getFront() { - //TODO - return null; + return cord1; } @Override public ICoord getBack() { - // TODO - return null; + return cord2; } @Override @@ -56,7 +60,16 @@ public abstract class Ship implements IShip { @Override public int getSize() { - // TODO + if(cord1.getY()==cord2.getY()){ + if(cord1.getX()>cord2.getX()) + return cord1.getX()-cord2.getX()+1; + return cord2.getX()-cord1.getX()+1; + } + if(cord1.getX()==cord2.getX()){ + if(cord1.getY()>cord2.getY()) + return cord1.getY()-cord2.getY()+1; + return cord2.getY()-cord1.getY()+1; + } return -1; }