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

[Duda] Creando Objetivo Aleatorio - no funciona

Hola, tengo una duda con respecto a la actividad anterior, he hecho todo y no sé porque mi código no funciona, no esta graficando de manera aleatoría mi objetivo. He intentado encontrar el problema pero áun no lo he hallado.

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

<script>
    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");    

    "***************************************************************************************************************************"
    "ESPACIO PARA LAS FUNCIONES:"

    "WALLPAPPER--------------------------------------------------------------------------------------------------------"
    function dibujarRectangulo (){
        pincel.fillStyle = "lightgrey";
        pincel.fillRect(0,0,600,400); 
    }


    let radio = 10;
    "CIRCULOS --------------------------------------------------------------------------------------------------------"
    function disenharcirculo(x,y,radio,color){           
        pincel.fillStyle = color;
        pincel.beginPath();
        pincel.arc(x,y,radio,0,2*Math.PI);
        pincel.fill();
    }
    "LIMPIAR PANTALLA --------------------------------------------------------------------------------------------------"    
    function limpiarPantalla (){
        pincel.clearRect(0,0,600,400);
    }
    "ACTUALIZAR PANTALLA -------------------------------------------------------------------------------------------------"
    //Declaramos variables que nos serán útiles **************************************************************************
    let x = 0;
    let sentido = 1; 
    //******************************************************************************************************************
    function ActualizaPantalla (){
        limpiarPantalla();
    }

    "CREA UN OBJETIVO CON FORMA DE TIRO AL BLANCO ------------------------------------------------------------------------------"
    function disenharObjetivo(x,y){
        dibujarRectangulo();
        disenharcirculo (100,100,radio+20, "red");
        disenharcirculo (100,100,radio+10, "white");
        disenharcirculo (100,100,radio, "red");
    }


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



    disenharObjetivo(xAleatorio,yAleatorio);



    //para que se repita la función cada cierto tiempo.
    //setInterval(ActualizaPantalla,20);


</script>
1 respuesta

¡Hola Reinaldo! Parece que el problema está en que no estás generando las coordenadas aleatorias para el objetivo. Puedes hacerlo utilizando la función "sortearPosicion" que ya tienes definida. Solo necesitas llamarla para obtener las coordenadas aleatorias y luego pasarlas como parámetros a la función "disenharObjetivo". Por ejemplo:

let xAleatorio = sortearPosicion(600);
let yAleatorio = sortearPosicion(400);
disenharObjetivo(xAleatorio, yAleatorio);

De esta manera, cada vez que se llame a la función "disenharObjetivo", se utilizarán coordenadas aleatorias para dibujar el objetivo. Espero que esto te ayude a solucionar el problema.

¡Saludos!

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