Necesito ayuda con este ejercicio que tengo que entregar y no se ni por donde empezar. Me hace falta para aprobar la asignatura. Muchas gracias por la ayuda
El objetivo de la práctica es implementar un programa Java que permita al usuario jugar a una
versión fácil del célebre juego candy crash, en un entorno de texto (no gráfico).
Pertenece a un grupo de juegos basados en la idea de alinear al menos 3 piezas (“match 3”) que son
eliminadas de un tablero1
.
El juego
El MiniCandyCrash es un juego que consiste en ir haciendo desaparecer bloques de 3 o más
bolas contiguas verticalmente de un mismo color de un tablero. Para ello, el jugador puede
intercambiar dos bolas de posiciones contiguas, vertical u horizontalmente. Cuando se forma una
secuencia vertical de 3 o más bolas del mismo color, toda esa secuencia desaparece, y las bolas que
hay encima caen para rellenar los huecos. Para rellenar los nuevos huecos que quedan en la parte
alta del tablero aparecen nuevas bolas de color aleatorio, de forma que el tablero siempre está lleno.
El juego termina cuando se ha hecho un cierto número de movimientos.
Reglas del juego
• El tablero estará formado por 9 filas y 9 columnas; inicialmente contiene piezas aleatorias.
• Las bolas pueden ser de 3 colores en la versión fácil, de 4 en l intermedia y de 5 en la difícil.
• El color de las piezas se representa con un número entero, pero se muestra en pantalla con
símbolos que sean fáciles de distinguir (‘o’, ‘*’, ‘=’, …)
• Un bloque es un conjunto de 3 o más bolas del mismo color que se tocan verticalmente.
• Cada casilla se especifica con dos enteros, que corresponden a número de fila y número de
columna, contando desde la fila 1, la de más abajo, y desde la columna 1, la de más a la
izquierda.
• El jugador dará como entradas 4 enteros que se corresponden con dos casillas contiguas.
• Si al intercambiar el contenido de esas dos casillas no se forma ningún bloque, la jugada no
tendrá efecto.
• Si tras el intercambio se forma algún bloque, se eliminarán todas las bolas de ese bloque, se
desplazarán hacia abajo las que están encima rellenando los huecos y aparecerán por la parte
superior nuevas bolas. Con esos movimientos y la aparición de nuevas piezas, es posible que
1 La idea de formar una línea de 3 elementos iguales en un tablero es muy antigua, por ejemplo, el 3 en raya. La primera
implementación documentada del 3 en raya es “OXO”, en 1952 para el EDSAC, por Alexander S. Douglas.
Probablemente el primer juego de ordenador basado en alinear y eliminar 3 con intercambios sea el “Shariki”, de 1994
para MSDOS, en el que se alineaban bolas. Posteriormente se alinearon otras piezas, como azulejos (Panel de Pon para
Nintendo, 1995), peces, joyas (Bejeweled, 2001), o caramelos (Candy Crush, 2012).
Grado en Ingeniería Informática y Grado en Estadística
FUNDAMENTOS DE PROGRAMACIÓN
Práctica Evaluable. Curso 2017/2018
2
se formen bloques nuevos, en cuyo caso hay que eliminarlos todos.
• Cada bloque eliminado puntúa según el número de bolas que lo forman, del siguiente modo:
o 3 bolas: 10 puntos
o 4 bolas: 20 puntos
o 5 bolas: 30 puntos
o 6 bolas: 40 puntos (puede ocurrir como consecuencia de la eliminación de algún
bloque, según como caigan las piezas nuevas)
o 7 bolas: 50 puntos (puede ocurrir, como en el caso anterior)
• Después de cada movimiento se mostrarán los puntos obtenidos y los acumulados hasta el
momento. Al terminar el juego, se mostrarán los puntos, y el jugador verá de nuevo el menú
inicial.
• El juego termina cuando se han hecho 10 movimientos.
• En cualquier momento del juego, el jugador puede terminar, insertando como jugada 0 0 0 0.
La puntuación será la alcanzada hasta ese momento.
Presentación y menú del juego
El programa empezará mostrando al jugador un menú para que elija nivel o tablero, como el siguiente:
Elija tipo de tablero:
1. Fácil
2. Intermedio
3. Difícil
4. Tablero fijo
0. Salir
El tablero fijo es el dado por los valores siguientes:
Grado en Ingeniería Informática y Grado en Estadística
FUNDAMENTOS DE PROGRAMACIÓN
Práctica Evaluable. Curso 2017/2018
3
Observaciones sobre el programa
• El tablero no debe presentar bloques cuando el jugador vaya a realizar un movimiento.
• El tablero siempre debe tener alguna jugada posible.
Presentación de la práctica
• Se realizará por parejas, del mismo grupo de laboratorio. Cualquier situación excepcional
deberá ser acordada con el profesor de prácticas.
• Se entregará en un único programa java, compilable y ejecutable desde la línea de órdenes
de un sistema Linux.
• Se entregará además un archivo pdf con la documentación externa del programa.
• Ambos archivos deben incorporarse a la tarea correspondiente en la página de Moodle antes
de la fecha límite; de lo contrario se considerará no entregada.
• Sólo debe entregarlo un alumno por cada pareja. Ambos archivos deben estar identificados
con los nombres de los autores. En los comentarios de la entrega deben aparecer también los
nombres de ambos alumnos.
• Posteriormente a la entrega, se realizará en sesión de laboratorio, su defensa. En ella, el
profesor hará preguntas a los alumnos, relacionadas con la práctica entregada y su
elaboración, y puede pedir la realización de alguna modificación mediante algún cambio en
la especificación del enunciado