Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

No salé el Alert

No se que es lo que tiene mal :(

No sale el alert cuando doy en el blanco

<meta charset="UTF-8">

<canvas width = "600" height = "400"></canvas>

<script>
    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");
    pincel.fillStyle = "lightgrey";
    pincel.fillRect(0,0,600,400);

    var radio = 10
    var xAleatorio;
    var yAleatorio;

    function disenharCircunferencia(x,y,radio, color){
        pincel.fillStyle = color;
        pincel.beginPath();
        pincel.arc(x,y,radio,0,2*Math.PI);
        pincel.fill();
    }

    function limpiarPantalla(){
        pincel.clearRect(0,0,600,400);
    }

    var x = 0
    var atras = 1


    function objetivos(x,y){

        disenharCircunferencia(x,y,radio + 20,"red");
        disenharCircunferencia(x,y,radio + 10,"white");
        disenharCircunferencia(x,y,radio,"red");
    }

    function posicionAleatorio(maximo){
        return Math.floor(Math.random()*maximo)
    }


    function actualizarPantalla(){

        limpiarPantalla();
        var xAleatorio = posicionAleatorio(600);
        var yAleatorio = posicionAleatorio(400);
        objetivos(xAleatorio,yAleatorio);
        x++

    }

    setInterval(actualizarPantalla,3000);

    function disparar(evento){

        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;

        if ((x < xAleatorio + radio) &&
            (x > xAleatorio - radio) &&
            (y < yAleatorio + radio) &&
            (y > yAleatorio - radio)){
            alert("¡Diste en el blanco!")
            }
    }
    pantalla.onclick = disparar;

</script>
2 respuestas
solución!

Puedes eliminar las declaraciones dentro de la función actualizarPantalla() y simplemente asignar valores a las variables globales dentro de la función.

Sugerencia para tu código function actualizarPantalla(){ limpiarPantalla(); xAleatorio = posicionAleatorio(600); yAleatorio = posicionAleatorio(400); objetivos(xAleatorio,yAleatorio); x++; }

Es recomendable que definas las variables xAleatorio e yAleatorio al principio de tu código, junto con el resto de las variables globales, para que puedan ser accedidas desde cualquier parte del código. Por ejemplo:

Gracias, no sé porque al instructor si le salió la declararles por fuera sin valor :p