1
resposta

Problema com a resolução

Não é uma dúvida, é uma observação, caso esteja interessado.

Um pequeno problema com a solução é que você pode aumentar o raio até 40, mas se o seu raio for 35, você não consegue fazer com que ele seja 40 apertando shift, porque o teste (35 + 10) vai ser maior que 40. Então você precisa diminuir o seu raio até 30 e depois aumentar pra 40.

O código da alteração do raio:

if (evento.shiftKey && evento.altKey) {

        alert('Só aperte uma tecla por vez, por favor!');

} else if(evento.shiftKey && raio + 10 <= 40) {
        raio = raio + 10;

} else if(evento.altKey && raio - 5 >= 10) {
        raio = raio - 5;

}

Meu "contorno" a esse problema:

        if(evento.shiftKey) {
            if(raio < 35) {
                raio = raio + 10;
            } else {
                raio = 40;
            }
        }

Em suma: se o raio for 35 ou 40, eu forço ele a ser ou permanecer 40.

1 resposta

Você pode fazer assim também:

if (evento.shiftKey && evento.altKey) {

        alert('Só aperte uma tecla por vez, por favor!');

} else if(evento.shiftKey && raio + 10 <= 40) {
        raio = raio + 10;

} else if(evento.shiftKey && raio + 10 >40) {
        raio = 40;

}else if(evento.altKey && raio - 5 >= 10) {
        raio = raio - 5;

}