Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

03 Disparando contra el objetivo --- *** Casi no puedo, el error era una p y tenia "P"

Casi no logro sacar el código, tenia un error muy tonto, en la función disparar "evento.PageX", lo correcto es "evento.pageX"

function disparar(evento){
        x = evento.PageX - pantalla.offsetLeft;
        y = evento.PageY - pantalla.offsetTop;

        if ((x<xAleatorio+radio)&&
            (x>xAleatorio-radio)&&
            (y<yAleatorio+radio)&&
            (y>yAleatorio-radio)){
                alert("Tiro certero")
            }
        else {
            alert("Tiro errado")
        }

    }

Le adicione un msj, de tiro errado, les comparto mi codigo, saludos...

<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;
    var x;
    var y;

    function generarCircunf(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);
    }


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

    }

    function objetivoAleatorio(x,y){
        limpiarPantalla();//***************************
        generarCircunf(x,y,radio+35,"blue");
        generarCircunf(x,y,radio+25,"white");
        generarCircunf(x,y,radio+20,"red");
        generarCircunf(x,y,radio+10,"white");
        generarCircunf(x,y,radio,"green");
    }

    function actualizarPantalla(){

        limpiarPantalla();
        xAleatorio= aleatorio(600);
        yAleatorio= aleatorio(400);
        objetivoAleatorio(xAleatorio,yAleatorio);
        //x++;
    }

    setInterval(actualizarPantalla,2000);

    function disparar(evento){
        x = evento.pageX - pantalla.offsetLeft;
        y = evento.pageY - pantalla.offsetTop;

        if ((x<xAleatorio+radio)&&
            (x>xAleatorio-radio)&&
            (y<yAleatorio+radio)&&
            (y>yAleatorio-radio)){
                alert("Tiro certero")
            }
        else {
            alert("Tiro errado")
        }

    }

    pantalla.onclick=disparar;


    </script> 

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

1 respuesta

¡Hola Willam! Espero que estés bien.

¡Gracias por compartir tu código con nosotros, nos alegra mucho que estés practicando programación! La práctica es fundamental para consolidar tus nuevos conocimientos.

Cuando tenga dudas relacionadas con tu código (como errores, bugs y cualquier otro problema), puede compartir tu código aquí en el foro, explicando tu duda, y te ayudaremos.

Sin embargo, si no tienes dudas o problemas y solo quieres compartir tu progreso o la forma en que realizaste tus actividades, puedes utilizar el canal#ComparteTuCódigo en Discord, que es un canal específico para este fin.

Allí, tus compañeros de estudios podrán ayudarte compartiendo conocimientos. ¡Esta interacción es muy importante para la participación de los alumnos y puede ayudarte a expandir su red de contactos!

¡Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte!

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!