/** * 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); }