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

[Proyecto] PROYECTO

<canvas width="1600" height="800"> </canvas>

<h1> JUEGO DE APUNTADO </h1>
<h2>Seleccionar Dificultad</h2>
<button onclick="facil()">Fácil</button>
<button onclick="media()">Media</button>
<button onclick="dificil()">Difícil</button>

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

    var radio = 10;
    var xAleatorio;
    var yAleatorio;

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

    function disenoobjetivo (x,y){
        disenarCirculo(x,y,radio + 20,"red");
        disenarCirculo(x,y,radio + 10,"white");
        disenarCirculo(x,y,radio, "red");


    }


    function limpiarCirculo() {
        pincel.clearRect(0, 0, 1600, 800);
    }

    var x = 0

    var intervalo = setInterval(limpiarPantalla,600);



    function Posicion(maximo){

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

    }

    function limpiarPantalla() {

         limpiarCirculo();
        xAleatorio = Posicion(1600);
        yAleatorio = Posicion(800);
        disenoobjetivo(xAleatorio,yAleatorio);
         x++;

    }

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 acertado");
    }



}

function facil() {

    clearInterval(intervalo);
    intervalo = setInterval(limpiarPantalla, 800);
}
function media() {

    clearInterval(intervalo);
    intervalo = setInterval(limpiarPantalla, 600);
}
function dificil() {

    clearInterval(intervalo);
    intervalo = setInterval(limpiarPantalla, 400);
}

pantalla.onclick = disparar;
</script>
1 respuesta

¡Hola Maríafernandavegapacheco!

Por lo que veo, has creado un juego de apuntado en HTML5. Me parece una idea genial y muy divertida. Al seleccionar la dificultad, el intervalo de tiempo para limpiar la pantalla y generar un nuevo objetivo cambia, lo que hace que el juego sea más o menos difícil.

Sin embargo, tengo una sugerencia para mejorar el juego. En lugar de mostrar una alerta cuando se acierta en el objetivo, podrías hacer que el objetivo desaparezca y sumar puntos al jugador. De esta manera, el juego sería más interactivo y motivador para el jugador.

¡Espero que mi sugerencia te sea útil! Si tienes alguna otra duda o necesitas ayuda, no dudes en preguntar.

¡Espero haber ayudado y buenos estudios!

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