Olá, pessoal!
Nesse caso não entendi como o incremento acontece da forma correta. Acompanhem o meu raciocínio:
var raio = 19;
var pulsa = 0;
function atualizaTela() {
limpaTela();
if (raio > 30) {
pulsa = -1;
}else if(raio < 20) {
pulsa = 1;
}
raio+=pulsa;
desenhaCirculo(300,200,raio,"red");
}
Ao ser chamada pela primeira vez a função entra com os seguintes valores:
raio = 19
pulsa = 0
Logo, atendem a condição do ELSE IF, pois o raio é menor do que 20. Até aí ok. Quando ele sai da condição e é incrementado, o raio já não é menor do que 20 e também não é maior do que 30. Como ele continua sendo incrementado?