private List<Point> fillAvailablePointsToMoveNearAttackedUnit(List<Point> availablePointsToMove) { Point testPoint; testPoint = attackedUnit.getPos().getCopy(); testPoint.setY(testPoint.getY() + 1); if (rtsWorld.canMoveToPoint(testPoint, false)) { availablePointsToMove.add(testPoint); } testPoint = attackedUnit.getPos().getCopy(); testPoint.setX(testPoint.getX() + 1); if (rtsWorld.canMoveToPoint(testPoint, false)) { availablePointsToMove.add(testPoint); } testPoint = attackedUnit.getPos().getCopy(); testPoint.setY(testPoint.getY() - 1); if (rtsWorld.canMoveToPoint(testPoint, false)) { availablePointsToMove.add(testPoint); } testPoint = attackedUnit.getPos().getCopy(); testPoint.setX(testPoint.getX() - 1); if (rtsWorld.canMoveToPoint(testPoint, false)) { availablePointsToMove.add(testPoint); } Collections.shuffle(availablePointsToMove); return availablePointsToMove; }