private void changeAngle(Paddle paddle) {
        double angle = 0;
        double v = Math.sqrt(vx * vx + vy * vy);    //vysledna rychlost, prepona trojuhelniku
        double tempVx = vx;
        double tempVy = vy;
        int centerOfPaddleY = (int) (paddle.getY() + (paddle.getLength() / 2));
        int difference = (y + 5) - (paddle.getY() + (paddle.getLength() / 2));
        int sizeOfBlock = 5;
        int numberOfBlocks = (int) (paddle.getLength() / sizeOfBlock);

        /*Rozdelim 90 stupnu na pocet casti korespondujici s poctem bloku, na ktere jsem rozdelil
         paddle.
         Vysledny uhel je pocet bloku ve vzdalenosti micku od stredu palky krat cast 90 stupnu 
         korespundujici s jednim blokem.
         Cim vetsi rozdil, tim vic bloku, tim vetsi uhel.*/
        if (y > centerOfPaddleY) {
            angle += (difference / sizeOfBlock) * (90 / (numberOfBlocks / 2));
            vy = Math.sin(angle) * v;
            repairVy(paddle);
        } else {
            angle -= (difference / sizeOfBlock) * (90 / (numberOfBlocks / 2));
            vy = Math.sin(angle) * v;
            repairVy(paddle);
        }

        //vy = Math.sin(angle) * v;
        vx = Math.cos(angle) * v;
        if (tempVx > 0 && vx > 0) {
            vx = vx * (-1);
        }
        if (tempVx < 0 && vx < 0) {
            vx = vx * (-1);
        }
        if (vy == 0) {
            vy += 0.3;
        }

        if (tempVx < 0) {
            x = paddle.getX() + PADDLE_WIDTH + r;
        } else {
            x = paddle.getX() - 3 * r;
        }

    }