factoriaf5-p7 / memory-game-grupo-9

memory-game-grupo-hector-roxy-eva created by GitHub Classroom
0 stars 0 forks source link

Introducción

El juego del Memory consiste en un número par de cartas con imágenes por un lado y el reverso de color genérico. Cada imagen aparece únicamente en dos de las cartas.

Memory Game Board

Cuando el juego comienza, todas las cartas están boca abajo. El jugador gira dos de las cartas, seleccionándolas mediante un click sobre ellas. Si las dos cartas tienen la misma imagen, se quedan boca arriba. En caso contrario recuperan su posición original después de un breve periodo de tiempo.

El objetivo del juego es conseguir dar la vuelta a todas las cartas en el menor número de intentos. Es decir, cuantos menos intentos mejor puntuación.

El cliente nos ha facilitado una versión no finalizada del juego, y nos pide que lo adaptamos a tecnologías modernas de desarrollo web que nos permita tener un código robusto y escalable

Requisitos

Planificación del Juego

Para programar el juego, necesitarás recrear las partes físicas del mismo (el layout) e implementar las reglas del juego (la lógica). Este juego es una versión mono-jugador, lo cual simplifica la lógica en cierto modo.

💡 La clave es la organización. Mantén separadas la parte de código del layout y del interfaz de usuario por una parte y el código del juego por otro

El layout

<!DOCTYPE html>
<html>
  <head>
    <title>Superhero Memory Game</title>
    <link type="text/css" rel="stylesheet" href="https://github.com/factoriaf5-p7/memory-game-grupo-9/blob/main/memory.css" media="screen">
  </head>
  <body>
  </body>
</html>

Si te fijas no hemos añadido un botón Start. En realidad no es necesario. Se pueden renderizar las cartas y crear un listener para comenzar el juego cuando el usuario clica en un elemento.

Añade los estilos

<link type="text/css" rel="stylesheet" href="https://github.com/factoriaf5-p7/memory-game-grupo-9/blob/main/memory.css" media="screen">

El código

Echa un vistazo a los ficheros de inicio src/memory.js y src/main.js que recogen la lógica y las interacciones HTML/CSS respectivamente.

La lógica del juego

Usaremos los test de Jasmine para probar la lógica del juego, que es bastante simple. Necesitaremos sólo una claseMemoryGame com métodos para mezclar y comparar las cartas y para comprobar que el juego ha terminado

_shuffleCard() {
};
checkIfPair(firstCard, secondCard) {

};
finished() {
};

Interacciones HTML/CSS

Piensa en las interacciones entre el usuario y el juego: El usuario clicará los elementos de la página y recibirá un resultado según acertó o no la pareja.

addEventListener('load',function(){
});
let back = document.querySelector('back');
back.addEventListener('click', function(){
});

Requerimientos técnicos

Modalidades pedagógicas

Criterios de rendimiento