crea un script para haxball
Aquí te dejo un ejemplo básico de un script para Haxball en Javascript. Este script incluye las funciones básicas para mover el jugador, disparar y cambiar de equipo. ```javascript // Configuración del juego const equipoAzul = "Azul"; const equipoRojo = "Rojo"; const velocidadJugador = 5; const velocidadDisparo = 10; // Objetos del juego let jugador = { x: 100, y: 100, equipo: equipoAzul, velocidad: velocidadJugador, disparando: false, disparo: { x: 0, y: 0, velocidad: velocidadDisparo } }; let balas = []; // Función para dibujar el jugador function dibujarJugador() { ctx.fillStyle = jugador.equipo === equipoAzul ? "blue" : "red"; ctx.fillRect(jugador.x, jugador.y, 20, 20); } // Función para dibujar las balas function dibujarBalas() { balas.forEach((bala, index) => { ctx.fillStyle = "white"; ctx.fillRect(bala.x, bala.y, 5, 5); if (bala.y > canvas.height) { balas.splice(index, 1); } }); } // Función para actualizar la posición del jugador function actualizarJugador() { if (keys.ArrowUp && jugador.y > 0) { jugador.y -= jugador.velocidad; } if (keys.ArrowDown && jugador.y < canvas.height - 20) { jugador.y += jugador.velocidad; } if (keys.ArrowLeft && jugador.x > 0) { jugador.x -= jugador.velocidad; } if (keys.ArrowRight && jugador.x < canvas.width - 20) { jugador.x += jugador.velocidad; } if (keys.Space && !jugador.disparando) { jugador.disparando = true; balas.push({ x: jugador.x + 10, y: jugador.y, velocidad: jugador.disparo.velocidad }); } if (jugador.disparando) { jugador.disparo.x = jugador.x + 10; jugador.disparo.y = jugador.y; jugador.disparo.y -= jugador.disparo.velocidad; if (jugador.disparo.y < 0) { jugador.disparando = false; } } } // Función para actualizar la posición de las balas function actualizarBalas() { balas.forEach((bala, index) => { bala.y -= bala.velocidad; if (bala.y < 0) { balas.splice(index, 1); } }); } // Función para verificar colisiones function verificarColisiones() { balas.forEach((bala, index) => { if (bala.y < 0) { balas.splice(index, 1); } }); } // Eventos de teclado document.addEventListener("keydown", (e) => { keys[e.key] = true; }); document.addEventListener("keyup", (e) => { keys[e.key] = false; }); // Configuración del canvas const canvas = document.getElementById("canvas"); const ctx = canvas.getContext("2d"); canvas.width = 800; canvas.height = 600; // Configuración de las variables de teclado const keys = {}; // Bucle del juego function loop() { ctx.clearRect(0, 0, canvas.width, canvas.height); dibujarJugador(); dibujarBalas(); actualizarJugador(); actualizarBalas(); verificarColisiones(); requestAnimationFrame(loop); } loop(); ``` Este script utiliza la API de canvas para dibujar el jugador y las balas en el lienzo. La función `loop` es el bucle principal del juego, que se ejecuta en cada frame. Dentro de este bucle, se limpia el lienzo, se dibujan el jugador y las balas, se actualizan las posiciones del jugador y las balas, y se verifica si hay colisiones. Recuerda que debes agregar un elemento HTML con el id "canvas" para que el script pueda acceder al lienzo. ```html <canvas id="canvas"></canvas> ``` También debes agregar un evento de carga para el script para que se ejecute después de que el documento esté cargado. ```javascript document.addEventListener("DOMContentLoaded", () => { // Código del script }); ``` Espero que esto te ayude a crear un juego de Haxball en Javascript. ¡Buena suerte!