Documente Academic
Documente Profesional
Documente Cultură
Proyecto 1
Rubix
Entradas: Son los datos ingresados por el usuario para el funcionamiento del programa.
1. Nombre
2. Edad
3. Género
4. La opción del menú que desea llevar a cabo.
5. La opción del submenú que desea llevar a cabo.
6. El ingreso de cambio de nombre, edad y/o género. (Si se desea).
7. El ingreso de la dimensión de la matriz.
8. El numero de fila o columna de la matriz que desea modificar.
9. El identificador del movimiento o acción que desea realizar para la matriz.
10. Todos los “ENTER´s” que se le piden al usuario para continuar el programa.
11. La opción para salir del juego. (Es distinta a la opción para salir del menú y
submenú).
Salidas: Son los datos que se le muestran en pantalla al usuario como guía del desarrollo
del programa.
1. Bienvenida al programa.
2. Ingreso de nombre, edad y género.
3. El menú interactivo y sus opciones.
4. La opción para ver información del jugador.
5. El submenú interactivo y sus opciones.
6. La opción de ver el estado del jugador.
7. La opción de cambio de nombre, edad y género (si se desea).
8. La opción de salida del submenú.
9. La opción para ver las instrucciones del juego.
10. La opción de jugar.
11. El mensaje de los niveles del juego.
12. El mensaje para ingresar la dimensión de la matriz.
13. La matriz ideal (matriz a la que se debe llegar) y matriz inicial (matriz por medio de
la cual se debe llegar a la ideal).
14. El número de fila o columna que desee modificar.
15. El identificador de los movimientos de la matriz.
16. La opción para salir del juego.
17. Mensaje acerca de si las matrices son iguales o no.
18. El total de movimientos realizados en el juego.
19. El total de puntos acumulados al final del juego.
20. Un comentario acerca del desempeño del jugador según los puntos acumulados.
21. La opción de solución del juego.
22. Las matrices paso a paso solucionadas.
23. La opción de información sobre los autores.
24. La opción para salir del menú.
25. Todos los “Presione Enter” para continuar con la ejecución del programa.
26. Mensaje de despedida.
Condiciones:
Repeticiones:
1. INICIO.
2. Se muestra la bienvenida al programa.
3. Se le solicita al usuario ingresar su nombre, edad y género.
4. Se muestra un menú interactivo con las siguientes opciones: 1. Información del
jugador. 2. Ver las instrucciones del juego. 3. Jugar. 4. Ver solución del juego. 5.
Acerca de los autores. 6. Salir del menú.
4.1 Si se ingresa la opción 1, se muestra un submenú con las siguientes opciones:
1. Ver estado del jugador. 2. Cambiar nombre. 3. Cambiar edad. 4. Cambiar
género. 5. Salir del submenú.
4.1.1 Si ingresa la opción 1, se le muestra su nombre, género, edad y puntos
actuales.
4.1.2 Si ingresa la opción 2, se le invita a cambiar su nombre.
4.1.3 Si ingresa la opción 3, se le invita a cambiar su edad.
4.1.4 Si ingresa la opción 4, se le invita a cambiar su género.
4.1.5 Si ingresa la opción 5, el programa se sale del submenú.
4.2 Si ingresa la opción 2, se le indica claramente cómo jugar.
4.3 Si ingresa la opción 3, se le pide ingresar la dimensión de la matriz, se muestran
las dos matrices (rubix), se le pide el número de fila o columna a modificar y los
indicadores de movimiento a ingresar para modificar la matriz inicial y la
opción de rendirse y acabar el juego. Si se rinde o cumple el objetivo, se le
muestra el total de movimientos realizados, los puntos acumulados, y una
“crítica constructiva” de su desempeño de acuerdo a la cantidad de puntos
acumulados.
4.4 Si ingresa la opción 4, se le muestra paso por paso, la solución del juego, para
que las matrices queden idénticas.
4.5 Si ingresa la opción 5, se le muestra información relevante de los autores del
programa.
4.6 Si ingresa la opción 6, se le muestra el mensaje de despedida, y se termina la
ejecución del programa.
4.7 FIN
Clase Jugador
Atributos
Visibilidad Tipo Identificador Observaciones
private String nombre Se ingresa el nombre del
jugador.
private int edad Guarda la edad del
jugador.
private char genero Guarda el género del
jugador. (M o F)
private String puntaje Guarda los puntos del
jugador.
Métodos
Visibilidad Tipo de retorno Identificador Parámetros Funcionalidad
public No posee. Jugador String nombre, Crea un objeto de
int edad, char la clase con esos
genero, String parámetros.
puntaje
public void setNombre String nombre Cambia el valor de
nombre.
public void setEdad int edad Cambia el valor de
edad.
public void setGenero char genero Cambia el valor de
género.
public void setPuntaje String puntaje Modifica el valor
de puntos.
public String getNombre No posee. Obtiene el valor de
nombre.
public int getEdad No posee. Obtiene el valor de
edad.
public char getGenero No posee. Obtiene el valor de
género.
public String getPuntaje No posee. Obtiene el valor de
puntos.
public String toString No posee. Se guarda una serie
de variables y strings
en una variable
String.
Clase Juego
Atributos
Visibilidad Tipo Identificador Observaciones
private Jugador oJugador Crea un objeto de la
clase jugador.
private int[][] rubix Representa la matriz
ideal.
private int[][] rubix2 Representa la matriz
inicial.
private int[][] rubix3 Matriz de apoyo.
private int[][] rubix4 Matriz de apoyo.
Métodos
Visibilidad Tipo de retorno Identificador Parámetros Funcionalidad
public No posee. Juego int drubix Crea un objeto de
la clase con ese
parámetro.
public void setDrubix int drubix Modifica el
atributo dimensión
de matriz.
public int getDrubix No posee Obtiene el atributo
dimensión.
public String toString No posee Se guarda una
serie de variables y
strings en una
variable String.
public void movIzq int fila Mover izquierda.
public void movDer int fila Mover derecha.
public void movAr int columna Mover arriba.
public void movAb int columna Mover abajo.
public void copiarMatriz int[][]rubix3, Iguala la matriz 3 y
int[][]rubix2 la 2.
public void copiarMatriz2 int[][]rubix2, Iguala la matriz 2 y
int[][]rubix4 4.
public void copiarMatriz3 int[][]rubix4, Iguala la matriz 4 y
int[][]rubix2 2.
public void revMat No posee. Desordena matriz.
public void revMat2 No posee. Desordena matriz.
public void revMat3 No posee. Desordena matriz.
public void resMat No posee. Restaura matriz.
public void resMat2 No posee. Restaura matriz.
public void resMat3 No posee. Restaura matriz.
public void impMatriz No posee. Imprime matrices.
public boolean gana No posee. Determina juego
ganado.
Clase JuegoApp
Métodos
Visibilidad Tipo de retorno Identificador Parámetros Funcionalidad
public void main String args[] Ejecuta el
programa principal
public int donde No posee. Indica que fila o
columna será
modificada.
public String direccion No posee. Indica el tipo de
movimiento.
public void menu No posee. Muestra la serie de
opciones para el
usuario.
public void subMenu No posee. Muestra la serie de
opciones para el
usuario.
public double obtenerNum String mensaje, Utiliza la estructura
boolean mostrar try-catch para
asegurar la defensa
del programa.