Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Loop da bolinha

Penso que o mais simples seria chamar um IF como no exemplo abaixo:

var x = 20;

    function atualizaTela() {
        limpaTela();
        desenhaCirculo(x, 20, 10, 'blue');
        x++;
        if(x>590){
            x=20;
        }
    }

Detalhe: tenho sempre feito primeiro minha tentativa e só depois confiro a opinião do professor. Essa prática tem me permitido aprender com os erros.

2 respostas

Oi Eliezer, tudo bem ?

Sua metodologia de primeiro tentar resolver e só depois confirmar com a resposta do professor é excelente. Você está no caminho certo. E não se assuste se por acaso você chegar em uma solução diferente da mostrada pelo professor que funcione, pois, no cerne da programação existem diversas formas de se chegar a um resultado, tá ?

Quanto a sua ideia em relação ao exercício é isto mesmo, teremos que ter um if que faça que quando ultrapassar certo valor, volte a posição da bolinha.

Qualquer dúvida estou a disposição. Espero ter ajudado. Bons estudos!!!

solução!

Na verdade cometi um erro o não ler o enunciado do exercício corretamente. O objetivo final não era o 'loop' da bolinha, mas fazê-la inverter o sentido ao chegar ao final do canvas e seguir fazendo isto, repetidamente. Neste caso eis a resposta:

var x = 20;
    var sentido = 1;

    function atualizaTela() {

        limpaTela();

        if( x > 600) {
            sentido = -1;
        } else if (x < 0) {
            sentido = 1;
        } 

        desenhaCirculo(x, 20, 10, 'blue');
        x = x + sentido;
    }

    setInterval(atualizaTela, 10);

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software