njara / mochadoom

Fork of Mochadoom from Sourceforge
GNU General Public License v3.0
0 stars 1 forks source link

RS20 - Cheatcodes #17

Closed elbraulio closed 8 years ago

elbraulio commented 8 years ago

Requisito de Usuario asociado RU13- Cheatcodes

Lapnis commented 8 years ago

Initialization

Se debe encontrar la forma en que estan implementados y el funcionamiento de los cheatcodes en el juego.

Lapnis commented 8 years ago

Concept Location

cheat, cheatcode

Lapnis commented 8 years ago

Impact Analysis

Analizando con JRipples, las clases que podrían verse impactadas son las siguientes:

Lapnis commented 8 years ago

Prefactoring

Se debe buscar de que forma se encuentran implementados los cheatcodes existentes en el juego, los cuales son definidos con la clase cheatseq_t.

Lapnis commented 8 years ago

Change Propagation

Los cheatcodes se manejan creando un objeto de la clase cheatseq_t. A este objeto se le pasa un arreglo de caracteres (que corresponden a la palabra a teclear para activar el cheatcode), y el indice donde comienza el arreglo (que siempre será 0). Luego, cada vez que hay eventos en el teclado, se debe verificar si la secuencia ingresada por el usuario corresponde a algun cheat existente. Para ello, se le aplica a los objetos cheatseq_t el metodo CheckCheat(char). Si lo que ingreso el usuario resulta ser una secuencia valida, se procede a activar el cheat.

Lapnis commented 8 years ago

Verification

Se logró obtener toda la información necesaria para implementar nuevos cheatcodes.

Lapnis commented 8 years ago

Conclusion

Para definir nuevos cheatcodes, basta con crear objetos de la clase cheatseq_t, y hacer CheckCheat en las partes donde se manejen los eventos del teclado.