Fundamentos de Programación  >  Clases  >  Ejercicios  >  ejercicio 5

Ejercicio 5

FAQ: Preguntas frecuentes

Objetivos

Enunciado

Se trata de jugar al tetris

  • flecha izq para mover a la izquierda
  • flecha der para mover a la derecha
  • flecha arriba para girar la pieza
  • flecha abajo para echar la pieza abajo

Ver presentación en PDF.

El ejercicio coniste en implementar las diferentes piezas del juego.

El juego normal está diseñado con piezas formadas por 4 cuadraditos. En realidad puede programar fácilmente versiones con piezas de otro número de cuadraditos, pero no es lo que se pide en este ejercicio.

Piezas

La arquitectura del programa incluye varias clases para modelar las piezas:

La interface presenta muchos métodos. La mayor parte de los métodos vienen resueltos por la clase abstracta. Las piezas deben resolver los métodos siguientes:

La clase PiezaAbstracta proporciona una implementación de los métodos

int getDeltaX(int cuadrado, int orientacion)
int getDeltaY(int cuadrado, int orientacion)
que vale para las piezas de forma J, L y T que tienen 4 orientaciones posibles.

Hay que redefinir esos métodos para las piezas I, S y Z que tienen sólo 2 orientaciones posibles, y para la pieza O que es insensible a la orientación.

Otras clases

Para acabar de construir el juego se requieren otras piezas adicionales:

No se espera que el alumno entienda estas clases, ya que se trata de una interfaz gráfica animada lo que está fuera del temario de la asignatura.

Entrega

El alumno debe presentar las siguientes clases:
  1. class PiezaI extends PiezaAbstracta (documentación)
  2. class PiezaJ extends PiezaAbstracta (documentación)
  3. class PiezaL extends PiezaAbstracta (documentación)
  4. class PiezaO extends PiezaAbstracta (documentación)
  5. class PiezaS extends PiezaAbstracta (documentación)
  6. class PiezaT extends PiezaAbstracta (documentación)
  7. class PiezaZ extends PiezaAbstracta (documentación)