Colisão Ponto-Retângulo/Círculo#
Neste exercício iremos criar "Botões" usando pygame. Criaremos funções para checar se um ponto está dentro de retângulos ou círculos e checaremos se o ponteiro do mouse está dentro dos nossos botões.
Como primeiro passo, implemente as seguintes funções no arquivo jogo.py
:
colisao_ponto_circulo(ponto_x, ponto_y, circulo_x, circulo_y, circulo_raio)
: recebe as coordenadas do ponto, do centro do círculo e o raio do círculo e retornaTrue
se o ponto estiver dentro do circulocolisao_ponto_retangulo(ponto_x, ponto_y, rect_x, rect_y, rect_w, rect_h)
: recebe as coordenadas do ponto, o canto superior esquerdo do retângulo, a largura e altura e retornaTrue
se o ponto estiver dentro do retângulo.
Estas funções tem testes automatizados.
Com essas funções prontas, use-as na função atualiza_estado
e modifique a função desenha
para pintar as formas de azul quando o usuário apertar o botão do mouse dentro delas. Quando o usuário soltar o mouse as formas devem voltar a ter cor vermelha.
Esta parte não tem testes, você deve verificar visualmente o resultado. Dica: você pode utilizar a variável state
para armazenar outras informações, como a cor atual de cada forma.