Oi, Ana Carolina! Tudo bem?
Dei uma olhadinha no seu código e os comandos "apontar para a direção número aleatório" realmente o tornam um pouco mais complicado, movimentando a bolinha de uma forma bem diferente.
Entretanto para o seu jogo funcionar normalmente, pontuando corretamente e libertando a bolinha caso ela fique presa, fiz apenas algumas alterações na parte do seu código responsável pela pontuação.
O seu código responsável pela pontuação, inicialmente, encontrava-se da seguinte forma:
Todavia, alterei o seu código (representado pela imagem acima) pelo código representado pela imagem abaixo:
Dessa forma, sempre que a bolinha atingir a parede o jogo esperará 0.2 segundos e conferirá se a bolinha continua na mesma posição, caso sim, adicionará 10 a posição x da bolinha, libertando-a, caso não, somara 1 ponto normalmente ao placar.
Note também que diminuí o valor do parâmetro da posição x, que define se a bolinha tocou a parede, de 224 e -224 para 228 e -228, posições mais próximas realmente da parede, para evitar bugs de pontuação.
Adiciono também que caso você queira deixar a movimentação da bolinha mais fluida pode retirar os comandos "aponte para a direção número aleatório..." e deixar o comando responsável pela colisão com a raquete apenas assim:
Espero ter ajudado, qualquer dúvida é só comunicar!
Um forte abraço e bons estudos!
Caso este post tenha te ajudado, por favor, marcar como solucionado ✓