public final double moure(final int midaCamp) {
        double distMax = 0;
        double posXFinal = 0;
        double distRecorre = r.nextInt((int) movimentMaxim) + 1;
        if (direccio != DRETA) {
            distMax = -(0 - imatgeEsquerra.getX());
        } else {
            distMax = midaCamp - imatgeDreta.getX() - imatgeDreta.getWidth();
        }

        if (distRecorre < distMax) {
            distRecorre = distRecorre * direccio;
        } else {
            distRecorre = distMax * direccio;
        }
        // Mou l'imatge adecuada
         if (direccio != DRETA) {
            posXFinal = imatgeEsquerra.getX() + distRecorre;
            while (posXFinal != imatgeEsquerra.getX()) {
                imatgeEsquerra.move(ESQUERRA, 0);
            }
        } else {
            posXFinal = imatgeDreta.getX() + distRecorre;
            while (posXFinal != imatgeDreta.getX()) {
                imatgeDreta.move(DRETA, 0);
            }
        }
        return distRecorre;
    }