Durante esta actividad, los alumnos serán capaces de:
Esta actividad promueve las siguientes habilidades, valores y actitudes: análisis y síntesis, capacidad de resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.
Este proyecto puede ser elaborado en equipos de dos o tres personas.
Desarrollar una aplicación web que implemente el juego de Ocho loco. El juego debe permitir que uno o más grupos de jugadores, conectados a la misma red, jueguen de forma simultánea. Ir a reglas del juego.
El proyecto consta de tres componentes:
Servidor web: Debe ser implementado como un conjunto de servicios Web de tipo REST (Representational State Transfer) escritos en Node y el framework de Express.
El estado de cada juego se debe ir almacenando en una base de datos de MonogoDB y su acceso se debe hacer mediante el ODM (Object-Document Mapper) Mongoose.
El servidor es responsable de contener y administrar todo el estado de los juegos. Los clientes pueden solicitar en cualquier momento al servidor toda la información que tengan permitido conocer (cuáles son sus cartas, cuál es la carta en el tope de la pila de descarte, el número de cartas de los oponentes, de quién es el turno actual, etc.).
Cliente web: Se debe desarrollar una aplicación responsiva usando el framework Bootstrap con soporte visualmente distinto para dos tamaños de ancho de pantalla:
Todos los elementos del cliente web (botones, menús desplegables, formularios, alertas, etc.) deben ser creados usando Bootstrap o alguno de sus plugins.
Durante el juego la interacción del cliente con el servidor debe realizarse utilizando Ajax.
Es importante verificar que todas las páginas resultantes sean HTML5 válido utilizando el Servicio de Validación de W3C.
Incluye en la raíz del directorio de tu proyecto un archivo llamado LEEME.txt
donde se indique el nombre y matrícula de los autores, así como las instrucciones de cómo instalar y correr la aplicación. Asegúrate también que el archivo package.json
contenga las dependencias de todos los módulos utilizados por la aplicación.
Para cada entrega, crea un archivo llamado ocholoco.tgz
con el contenido completo del directorio con todos los archivos que conforman el proyecto. Solo se requiere que un miembro del equipo realice la entrega.
Para entregar el archivo ocholoco.tgz
, ingresa los siguientes datos:
El proyecto será evaluado usando los siguientes criterios:
40% | Diseño e implementación del servidor. |
---|---|
20% | Diseño e implementación del cliente de modo texto. |
40% | Diseño e implementación del cliente web. |
DA | Si se detecta cualquier tipo de plagio o fraude. |
Las siguientes reglas son una adaptación de las reglas disponibles en el sitio de Bicycle Playing Cards.
De dos a cinco.
Ser el primer jugador en descartar todas las cartas de su mano.
Una baraja inglesa estándar de 52 cartas, compuesta de:
Inicialmente, las cartas se deben barajar. Posteriormente, cada jugador recibe cinco cartas. Las cartas que no fueron repartidas permanecen en la baraja boca abajo. Se toma la primera carta de la baraja que no sea un ocho y se coloca boca arriba para iniciar lo que será llamado la pila de descarte.
El orden de los turnos de los jugadores corresponde al orden en que se conectaron al juego. Cada participante durante su turno debe tomar una de las cartas de su mano y colocarla boca arriba sobre la pila de descarte. Si no cuenta con una carta para tirar, el participante debe ir tomando una carta de la baraja hasta que por fin pueda tirar o hasta que se agote la baraja. Si un jugador no puede tirar y la baraja está agotada, entonces tendrá que pasar. Durante su turno, un jugador puede tomar cartas de la baraja si así lo desea, aún si posee una carta en su mano que bien pudiera tirar.
Cada carta que se tire (a excepción de un ocho) debe corresponder a la carta en el tope de la pila de descarte, ya sea por tener el mismo palo o la misma denominación. Por ejemplo, si la carta en el tope de la pila es el rey de tréboles (♣K) entonces el jugador en turno puede tirar cualquier carta con tréboles (♣) o un rey (K). El ocho se considera “loco”. Esto quiere decir que un jugador puede tirar durante su turno un ocho sin importar qué carta esté en el tope de la pila. Cuando esto ocurra, dicho jugador debe indicar el palo (pero nunca la denominación) con el que desea que se continúe el juego. El siguiente jugador en turno debe tirar una carta con el palo especificado o con otro ocho.
El primer jugador que se quede sin cartas gana el juego.