Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não entendi porque o incremento negativo funciona.

function atualizaTela() {

    limpaTela();

    if (pulso > 30) {   

/* pela lógica, quando o pulso vira 31 o incremento negativo volta ele para 30, então ele não cumpriria a condição do incremento negativo, mesmo assim ele roda até encontrar o pulso menor que 19. O programa ignora os 2 ifs quando está no 25, por exemplo?*/

        incremento = -1;
    } else if (pulso < 19) {
        incremento = 1;
    }

    desenhaCirculo(pulso);
    pulso = pulso + incremento;
1 resposta
solução!

Exato, ele só vai mudar o incremento quando chegar nos limites.

Essa é a ideia... ignorar os ifs enquanto está no meio.