示例#1
0
  /**
   * Move object to free point or follow for target
   *
   * @param newX - target position x
   * @param newY - target position y
   * @param target - target
   */
  private void moveToPoint(float newX, float newY, SuperFigure target) {
    String command;
    if (target == null) {
      command = "MovM";
    } else {
      command = "FolM";
    }
    messageText = "From" + 1 + command + (int) newX + "-" + (int) newY + ":";
    Boolean isFirst = true;
    for (Mob mob : mobs) {
      if (mob.getIsSelected()) {
        if (isFirst) {
          messageText += mob.getID();
          isFirst = false;
        } else {
          messageText += "," + mob.getID();
        }
        float k = (newX - mob.getFigure().x) / Math.abs(newY - mob.getFigure().y);
        mob.setStepX(k);
        mob.setStepY(newY - mob.getFigure().y > 0 ? 1 : -1);
        mob.setIsSelected(false);
        mob.setNewX(newX);
        mob.setNewY(newY);
        mob.setTarget(target);
        mob.setIsMove(true);
      }
    }

    if (target == null) {
      command = "MovP";
    } else {
      command = "FolP";
    }
    messageText = "From" + 1 + command + (int) newX + "-" + (int) newY + ":";
    for (Planet mob : planets) {
      if (mob.getIsSelected()) {
        if (isFirst) {
          messageText += mob.getID();
          isFirst = false;
        } else {
          messageText += "," + mob.getID();
        }
        float k = (newX - mob.getFigure().x) / Math.abs(newY - mob.getFigure().y);
        mob.setStepX(k);
        mob.setStepY(newY - mob.getFigure().y > 0 ? 1 : -1);
        mob.setIsSelected(false);
        mob.setNewX(newX);
        mob.setNewY(newY);
        mob.setTarget(target);
        mob.setIsMove(true);
      }
    }
    System.out.println(messageText);
  }