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!
1// Ejemplo de generación de cartas 2const cards = [ 3 { id: 1, image: 'url1', matched: false }, 4 { id: 2, image: 'url2', matched: false }, 5 // ... más cartas 6];
1const [cards, setCards] = useState([]); 2const [flippedCards, setFlippedCards] = useState([]); 3const [matchedCards, setMatchedCards] = useState([]);
1useEffect(() => { 2 if (flippedCards.length === 2) { 3 const [firstCard, secondCard] = flippedCards; 4 if (firstCard.id === secondCard.id) { 5 setMatchedCards([...matchedCards, firstCard.id]); 6 } 7 setTimeout(() => setFlippedCards([]), 1000); 8 } 9}, [flippedCards]);
1const handleCardClick = (card) => { 2 if (flippedCards.length < 2 && !flippedCards.includes(card)) { 3 setFlippedCards([...flippedCards, card]); 4 } 5};
1.card { 2 transition: transform 0.6s; 3 transform-style: preserve-3d; 4} 5 6.card.flipped { 7 transform: rotateY(180deg); 8}
Contador de Puntuación: ¡Implementa un sistema de puntuación basado en el número de movimientos o el tiempo que tarda el jugador en completar el juego!
Niveles de Dificultad: Agrega diferentes niveles de dificultad con más o menos cartas.
Sonidos y Efectos: ¡Añade efectos de sonido al voltear cartas o encontrar un par!
Guardar Progreso: Permite al jugador pausar y continuar el juego guardando el estado en el almacenamiento local.
Tema Personalizable: ¡Deja que el jugador elija entre diferentes temas o conjuntos de imágenes para las cartas!
Juego Multijugador: Implementa un modo para que dos jugadores compitan por turnos y registra quién encuentra más pares.
¡Explora diferentes mejoras para hacer tu juego de memoria más interactivo y entretenido!
Para prepararte mejor para completar estos ejercicios, sugerimos los siguientes materiales