No clones este repositorio porque vamos a utilizar una plantilla diferente.
Recomendamos abrir la plantilla de React
utilizando una herramienta de aprovisionamiento como Codespaces (recomendado) o Gitpod. Alternativamente, puedes clonar el repositorio de GitHub en tu computadora local usando el comando git clone
.
Este es el repositorio que necesitas abrir o clonar:
https://github.com/4GeeksAcademy/react-hello
⚠ ¡Necesitarás tener Node.js instalado si lo haces localmente, pero todo eso ya está instalado en Codespaces o Gitpod!
1const [snake, setSnake] = useState([[10, 10]]); 2const [direction, setDirection] = useState('RIGHT'); 3const [food, setFood] = useState([15, 15]); 4const [gameOver, setGameOver] = useState(false);
1useEffect(() => { 2 const moveSnake = () => { 3 // Lógica para mover la serpiente 4 }; 5 6 if (!gameOver) { 7 const interval = setInterval(moveSnake, 200); 8 return () => clearInterval(interval); 9 } 10}, [snake, direction, gameOver]);
1useEffect(() => { 2 const handleKeyDown = (event) => { 3 switch(event.key) { 4 case 'ArrowUp': 5 setDirection('UP'); 6 break; 7 case 'ArrowDown': 8 setDirection('DOWN'); 9 break; 10 case 'ArrowLeft': 11 setDirection('LEFT'); 12 break; 13 case 'ArrowRight': 14 setDirection('RIGHT'); 15 break; 16 default: 17 break; 18 } 19 }; 20 21 window.addEventListener('keydown', handleKeyDown); 22 return () => window.removeEventListener('keydown', handleKeyDown); 23}, []);
1if (checkCollision(newHead)) { 2 setGameOver(true); 3}
Ajuste de Velocidad: Incrementa la velocidad de la serpiente a medida que el jugador avanza.
Niveles de Dificultad: Ofrece diferentes niveles de dificultad con velocidades o tamaños de tablero variados.
Obstáculos: Agrega obstáculos al tablero que la serpiente debe evitar.
Sonidos y Efectos: ¡Añade efectos de sonido al comer la comida o al finalizar el juego!
Puntuaciones Altas: Implementa un sistema para guardar y mostrar las puntuaciones más altas usando el almacenamiento local.
Temas Personalizables: Permite al jugador elegir entre diferentes temas visuales para el juego.
Juego Multijugador: Implementa un modo de juego donde dos serpientes compiten en el mismo tablero.
¡Explora diferentes mejoras para hacer tu juego de Snake más interesante y desafiante!
Para prepararte mejor para completar estos ejercicios, sugerimos los siguientes materiales