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 Caballos danzarínes. El juego debe permitir que uno o más parejas de jugadores 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 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 del estado del juego.
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 README.md
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 caballos.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 caballos.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 disponibles en el sitio de Gamesman de Dan Garcia.
Caballos danzarínes se juega en un tablero rectangular de n renglones por m columnas. Tu implementación debe permitir valores de (4 ≤ n ≤ 10) y (4 ≤ m ≤ 10). Cada jugador cuenta con un caballo y un rey.
Los jugadores, blanco y negro, toman turnos en mover sus caballos usando movimientos en forma de “L”, tal como en ajedrez. Un jugador no puede capturar su propio rey. Los reyes no se pueden mover.
Los dos caballos deben ser colocados aleatoriamente en cualquier columna del renglón superior del tablero. De manera similar, los dos reyes deben ser colocados aleatoriamente en cualquier columna, pero del renglón inferior. Obviamente, cada pieza debe estar en su propia casilla.
El jugador que capture el rey o caballo de su oponente gana. Un jugador pierde automáticamente si no tiene manera de realizar un movimiento válido. No existen empates.
Tablero inicial:
Turno de blanco: Blanco a e3
Turno de negro: Negro a c3
Turno de blanco: Blanco a c4
Turno de negro: Negro a b5
Turno de blanco: Blanco a d2
Turno de negro: Negro a d4
Turno de blanco: Blanco a b1
Blanco gana ya que captura al rey del oponente.