E aí galera!! Então, quando eu executava o game não reconhecia a colisão da parte debaixo da vaca com a parte superior dos carros. Vi que outros alunos também passaram por algo do tipo e visitando o link dos seus códigos vi que no game a coisa estava igual.
Para resolver isso eu fui ver onde que era o ponto inicial do diâmetro colocado no colliderRectCircle() e, usando um print(yAtor) dentro da função que movimenta o ator, percebi que o ponto que iniciava a imagem era no topo da vaquinha, por isso que a parte de cima da vaquinha tava colidindo e a parte de baixo não.
Para colocar o y da vaquinha no centro da imagem eu somei a metade do tamanho da vaquinha, que eu "batizei" de raio. O raio é a metade da altura da imagem da vaquinha.
let raio= 15;
for (let i = 0; i < imagemCarros.length; i += 1){
colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor + raio, raio);
...
Com essa alteração, a vaquinha bate em todos os pontos nos carrinhos.
Pra deixar organizado, eu coloquei o let raio no topo do arquivo juntos com as outras variáveis.
Se tiver alguma sugestão de melhoria ou mudança, só passar aí. Vlw e bons estudos ae pra todo mundo!