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

AYUDAAA PORFAVOR Disparando contra el objetivo

Alguien que me pueda ayudar , ya lo cheque un monton de veces y no encuentro el error, no me sale el mensaje.

<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){         //crearcirculo
        pincel.fillStyle = color;
        pincel.beginPath();
        pincel.arc(x,y,radio,0,2*Math.PI);
        pincel.fill();                  //llenar la circunferencia

    }

    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,2000); 
        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 ("Tiro certero")
            }

    }


pantalla.onclick = disparar; 

</script>
6 respuestas

Hola Aline. Puedes pasar el codigo para que veamos donde puede estar el problema?. Saludos

Es este porfa

<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){         //crearcirculo
        pincel.fillStyle = color;
        pincel.beginPath();
        pincel.arc(x,y,radio,0,2*Math.PI);
        pincel.fill();                  //llenar la circunferencia

    }

    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,2000); 
        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 ("Tiro certero")
            }

    }


pantalla.onclick = disparar; 

</script>

tenias la p en mayúscula en la linea 56 y es con minuscula. `

`

Como expreso el compañero Ernesto el error de tipeo se encuentra en la función "disparar". Tienes que expresar la variable x de la siguiente manera:

*var x = evento.pageX - pantalla.offsetLeft; *

Ya con eso el codigo comienza a correr sin problemas.

Saludos y esperamos haberte sido de ayuda.

solución!
<meta charset="UTF-8">


<h1 style="color: darkturquoise;">PROGRAMA DISPARANDO CONTRA EL OBJETIVO</h1>
<h3 style="color: darkorange;">Dale en el centro rojo</h3>
<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 disenarCircunferencia(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 actualizarPantalla() {

        limpiarPantalla();
        disenarCircunferencia(x, 20, 10);
        x++;

    }

    function disenarObjetivo(x, y) {

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


    }

    function sortearPosicion(maximo) {

        return Math.floor(Math.random() * maximo);

    }

    function actualizarPantalla() {

        limpiarPantalla();
        xAleatorio = sortearPosicion(600);
        yAleatorio = sortearPosicion(400);
        disenarObjetivo(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(" Buen Tiro !Felicidades!");
        }          

    }

    pantalla.onclick = disparar;


</script>

Te lo dejo para que compares en el mio en donde tienes tu error es en la linea de código 74 va con mayúscula en tu código PageX y la segunda igual tiene que ir PageY pues así las declaraste desde un principió pero yo las puse con minúsculas.

Muchas gracias a todos! Ya me salio la ventanita al hacer click.