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

Desafio final

Olá Professores! Tentei escreveu o código sugerido e estou com problema de loop e geração de localização do ponto Y.

Se alguém puder me apontar onde estou falhando, gostaria de continuar tentando fazer esse exercício até o fim! Obrigado desde já. A orientação de vocês tem sido imprescindível para meu aprendizado.

<canvas id="tela" width="600" height="400"></canvas>
<script>

var tela = document.getElementById("tela");
var c = tela.getContext("2d"); 

cfillStyle = desenhaAlvo
var sorteia = function(alvoX, alvoY){
    var alvoX = Math.random() * 600;
    var alvoY = Math.random() * 400;
}

var circulo = function(alvoX, alvoY, raio){
c.arc(alvoX, alvoY, raio, 0, 2*3.14);    
}

var limpaTela = function(){
     c.clearRect(alvoX, alvoY, raio);
};


var desenhaAlvo = function(alvoX,AlvoY, raio) {
    sorteia();
    var raio = 40;
    c.fillStyle ="white";
    circulo(alvoX, alvoY, raio);
    c.fillStyle="red";
    circulo(alvoX, alvoY, raio-10);
    c.fillStyle="white";
    circulo(alvoX, alvoY, raio-20);
    c.fillStyle="red";
    circulo(alvoX, alvoY, raio-30);
    limpaTela();
}




setInterval(desenhaAlvo, 60);
</script>
3 respostas

Oi Daniel, o problema maior é que vc chamou a função desenhaAlvo sem passar os argumentos... Aí ele não consegue calcular nada mesmo. Não é só y que ta faltando, ta faltando o x também.

Dá uma olhada na sugestão de código da alura e confere com o seu => https://cursos.alura.com.br/course/praticando-logica-de-programacao/section/5/task/2/opinion

A minha linha de raciocínio é que a função buscaria esses números do sorteio (math.random que eu tinha chamado acima com a função sorteia.

var sorteia = function(alvoX, alvoY){
    var alvoX = Math.random() * 600;
    var alvoY = Math.random() * 400;

var desenhaAlvo = function(alvoX,AlvoY, raio)
solução!

Oi Daniel, não vai rolar... a sua função sorteia simplesmente declara variáveis locais.. ninguém tem acesso a elas, a não ser a própria função. No exemplo do curso, tem o código completo, da para vc dar uma olhada, entender e aí modificar.