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)
7
respuestas

[Bug] Ya no se que mas hacer, por favor NO ME DA ALERT

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

<script>
    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");    
    pincel.fillStyle = "grey";
    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 


   function disenharObjetivo(x,y) {
        disenharCircunferencia(x,y,radio + 20,"red")
        disenharCircunferencia(x,y,radio + 10,"white")
        disenharCircunferencia(x,y,radio,"red")
   }

   function sortearPosicion(maximo) {
       return Math.floor(Math.random()*maximo)

   }

    function actualizarPantalla() {
        limpiarPantalla()        
        xAleatorio = sortearPosicion(600)
        yAleatorio = sortearPosicion(400)
        disenharObjetivo(xAleatorio,yAleatorio)        
        x++     
   }

   setInterval(actualizarPantalla,1000);

   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("Acertó")
        }


   }

   pantalla.onclick = disparar



</script> 

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

7 respuestas
solución!

brother solo tienes un pequeño error en tu codigo en el ciclo if en yaleatorio tienes los dos signos de + iguales recuerda que en la primera se suma y en la segunda lo resta solo cambia el signo de + por el de menos y ya quedo

este es tu codigo ya modificado y si funciona animo a mi me paso lo mismo pero solo era una letra pero asi se aprende

Comenta la Funtion y deja solo xAleatorio, yAleatorio, despues de es pon un DesingObjetive(xAleatorio,yAleatorio)Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Zoe, como hiciste esa imagen?

Con una extencion del visual studio code llamada CodeSnap, solamente la instalas dentro del mismo editor de codigo, seleccionas la parte del codigo o en su efecto todo y con click derecho saldra una opcion con el nombre de la extencion, se abrirá una pestaña y nada mas le das click el logo de la extencion y listo ;)

Wow, muchas gracias! Creo que me cambiaré a Visual, hay muchas cosas mas que en Sublime.

Y otra pregunta, si no es molestia. ¿Que hace realmente DesingObjetive? Es la primera vez que lo veo

Es el disenharObjetivo es solo que yo escribo el codigo en ingles. Pero en resumen para solucionar el probleme lo que hice fue crear la funcion LimpiarPantalla despues de la var x = 0 y luego llamar a las var x, y de la funcion LimpiaPantalla como en la imagen, si gustas te puedo compartir el codigo complato.

Ah ya entiendo. Si me ayudaria bastante si me compartes tu codigo, gracias! :)