Пример #1
0
 /**
  * Method for finding the linear distance to another character.
  *
  * @param other the other character to compute distance from
  * @return the distance between the characters
  */
 public double lengthTo(Character other) {
   double ans =
       ((double) this.getPos().getX() - other.getPos().getX())
           * ((double) this.getPos().getX() - other.getPos().getX());
   ans +=
       ((double) this.getPos().getY() - other.getPos().getY())
           * ((double) this.getPos().getY() - other.getPos().getY());
   ans = Math.sqrt(ans);
   return ans;
 }
Пример #2
0
 /**
  * Sets the movement rates of the character towards another character.
  *
  * @param player the character to move towards
  */
 public void moveTowards(Character player) {
   if (Math.abs(player.getPos().getX() - this.getPos().getX())
       > Math.abs(player.getPos().getY() - this.getPos().getY())) {
     if (player.getPos().getX() > getPos().getX()) {
       setdx(1);
     } else if (player.getPos().getX() < getPos().getX()) {
       setdx(-1);
     } else {
       setdx(0);
     }
   } else {
     if (player.getPos().getY() > getPos().getY()) {
       setdy(1);
     } else if (player.getPos().getY() < getPos().getY()) {
       setdy(-1);
     } else {
       setdy(0);
     }
   }
 }