import java.util.Objects;

class Target
{
    public Target (Asteroid toDestroy)
    {
        _theTarget = toDestroy;
    }

    public Asteroid toDestroy ()
    {
        return _theTarget;
    }
    
    public final double getAngle ()
    {
        return _angle;
    }

    public final int getDistance ()
    {
        return _distance;
    }

    @Override
    public String toString ()
    {
        return "Target asteroid at "+_theTarget.getPosition();
    }

    @Override
    public int hashCode ()
    {
        return Objects.hash(_angle, _distance);
    }

    @Override
    public boolean equals (Object obj)
    {
        if (obj == null)
            return false;

        if (this == obj)
            return true;
        
        if (getClass() == obj.getClass())
        {
            Target temp = (Target) obj;

            return (_theTarget.equals(temp._theTarget) && (_angle == temp._angle) && (_distance == temp._distance));
        }

        return false;
    }

    private Asteroid _theTarget;
    private double _angle = 0.0;
    private int _distance = 0;
}
@@ -55,32 +55,48 @@
 arget (Asteroid 
+laser, Asteroid 
 toDestroy)%0A    %7B
@@ -90,16 +90,16 @@
 estroy)%0A
-
     %7B%0A  
@@ -128,16 +128,141 @@
 estroy;%0A
+        _angle = laser.angleTo(toDestroy);%0A        _distance = laser.getPosition().distanceBetween(toDestroy.getPosition());%0A
     %7D%0A%0A 
@@ -332,20 +332,16 @@
 ;%0A    %7D%0A
-    
 %0A    pub
@@ -350,22 +350,22 @@
 c final 
-double
+String
  getAngl
@@ -1171,14 +1171,14 @@
 ate 
-double
+String
  _an
@@ -1187,11 +1187,10 @@
 e = 
-0.0
+%22%22
 ;%0A  

Update Target.java