Integrantes: Pilar Arancibia
Hoy en día los juegos cumplen un rol importante en nuestras vidas, pues al tener todas nuestras necesidades básicas cubiertas (comida, abrigo, agua, etc), surgen otra nuevas necesidades, como por ejemplo la necesidad de diversión, de competencia, de compartir, de olvidarte del mal día que fue hoy, de probar cosas nuevas, etc. Este proyecto fue pensado para cubrir esas necesidades propias de la vida moderna.
Numen es un juego de tablero, con mécanicas inspiridaras del tan conocido ajedrez, donde se necesita tener de una buena estrategia para vencer al oponente, la forma de ganar es derrotar al rey enemigo, esta pieza se diferencia de las demás porque el color de fondo de esta es rojo en vez de amarillo, para lograr esto cada jugador deverá elegir un bando ya sea blanco (humanos) o negro (bestias), dentro de su turno el jugador podrá mover sus piezas o atacar alguna pieza enemiga dentro del rango de ataque delimitado por la pieza aliada, cada pieza es única y solo se pueden mover y atacar una vez por pieza dentro de su turno, asi que se debe de pensar bien antes de actuar, para no quedar expuestos a un ataque oponente.
Nombre: Mover una pieza
Propósito: El usuario desea mover una pieza a otra casilla
Actor: El usuario
Pre-Condiciones: Se ha iniciado el software y el usuario se encuentra en su turno
Evento: El usuario selecciona una pieza y luego una casilla verde
Post-Condiciones: La pieza se ha movido a la casilla selecionada
Tipo: Manual
Nombre: Atacar a una pieza enemiga
Propósito: El usuario desea atacar a una pieza oponente para hacerle daño
Actor: El usuario
Pre-Condiciones: Se ha iniciado el software y el usuario se encuentra en su turno
Evento: El usuario selecciona una pieza y luego una casilla roja en donde se encuentre la pieza que desea atacar
Post-Condiciones: La pieza enemiga sufre un daño equivalente a los puntos de ataque de la pieza seleccionada por el usuario
Tipo: Manual
Nombre: Terminar el turno
Propósito: El usuario desea términar su turno, para que el oponente pueda mover sus piezas
Actor: El usuario
Pre-Condiciones: Se ha iniciado el software y el usuario se encuentra en su turno
Evento: El usuario presiona el botón "Pass"
Post-Condiciones: Las piezas del usuarios son bloqueadas y el oponente se encuentra en su turno
Tipo: Manual
En este caso lo que pasa es que el jugador 1 hizo que el jugador 2 perdiera su turno.
-No se alcanzó a realizar-
-No se alcanzó a realizar-
Para cada uno de los casos mencionados anteriormente se hicieron las siguientes pruebas.
Se selecciona una pieza, la cual mostrará sus posibles movimientos y ataques
Las casillas en verde muestran las casillas en donde puede moverse nuestra pieza, al colocar el mouse encima de una casilla verde apareecera un icono de "pies" que indica que puedes moverte a ese lugar.
Seleccionamos la casilla verde y la pieza se moverá a esa casilla
Volvemos a seleccionar la pieza sin pasar de turno para ver si sus movimientos han sido cancelados
Primero observamos cuanto ataque tiene la pieza que seleccionaremos y la vida de la pieza que atacaremos
Seleccionamos la pieza y vemos que nos muestra sus posibles casillas donde puede atacar
Podemos atacar a la pieza que se encuentra dentro del nuestro rango de ataque, una vez dirigido el ataque vemos si este afectó a su vida
Luego volvemos a seleccionar la pieza dentro del mismo turno para ver si se han bloqueado sus ataques
Las orillas del botón "Pass" nos indican qué color de piezas podemos mover, por lo tanto se probó estando en el turno de las piezas negras, intentar mover alguna pieza negra y otra blanca
Podemos seleccionar una pieza negra
Pero no podemos seleccionar una pieza blanca
Vemos tambien si al pasar el turno y luego volver, los movimientos y ataques "gastados" son restaurados
Tenemos una pieza con los movimientos y ataques gastados
Seleccionamos el botón "Pass" para pasar de turno y luego volver
Al volver a seleccionar la misma pieza anterior vemos que efectivamente sus ataques y movimientos han sido restaurados
Se tuvieron varias dificultades a lo largo de todo el proceso de programación.
Al comienzo el proyecto no se iba desarrollando de forma iterativa e incremental, como había sido recomendado por el profesor, se había empezado por hacer las reglas del mundo, las habilidades de las piezas (que para esta versión del juego no se alcanzó a implementar), y varias cosas que no se podían ir probando a medida que se avanzaba, porque la parte visual aún no había sido desarrollada. Luego de entender que el proceso elegido no estaba dando resultados, se tuvo que volver a empezar casí de cero.
Con lo que respecta a las reglas generales que rigen el juego, hacer que los movimientos se "gastaran" y luego se restauraran al pasar el turno es algo que tomó mucho tiempo, pero al final la solución era mucho más sencilla de lo pensado.
Algo grande que destacar con respecto a las dificultades, sin duda fue hacer que se reconocieran los movimiento y ataques posibles de cada pieza en el tablero.
El mayor estrés se tuvo al empezar a diseñar el proyecto, pues existen varias formas distintas de hacer una misma cosa, por ejemplo, en un principio se tenia pensado hacer una clase que representara un tablero y no una casilla, y las piezas se movieran según coordenadas.En medio del desarrollo se observó que esa idea era más dificil de implementar, que hacer una clase casilla, armar un tablero posicionando las casillas como se quería y anclar las piezas a una casilla especifica, qué es el método que finalmente se utilizó en este proyecto
Para descargar el código del juego, haz click aquí