Interface Pieza

All Known Implementing Classes:
PiezaAbstracta, PiezaI, PiezaJ, PiezaL, PiezaO, PiezaS, PiezaT, PiezaZ

public interface Pieza

Lo que deben hacer las piezas del tetris.

Basado en la obra de Per Cederberg, per@percederberg.net

Version:
Dec 12, 2010
Author:
Jose A. Manas

Method Summary
 void desvincular()
          Retira la pieza del tablero.
 boolean enTablero()
          Chequea si la pieza esta en un tablero.
 boolean esCompletamenteVisible()
          Verifica si la pieza es perfectamente visible en un tablero.
 int getDeltaX(int cuadrado)
          Si la pieza esta en una cierta columna X, se devuelve lo que hay que sumar a X para saber la posicion del cuadradito que se pasa como argumento.
 int getDeltaX(int cuadrado, int orientacion)
          Si la pieza esta en una cierta columna X, se devuelve lo que hay que sumar a X para saber la posicion del cuadradito que se pasa como argumento.
 int getDeltaY(int cuadrado)
          Si la pieza esta en una cierta fila Y, se devuelve lo que hay que sumar a Y para saber la posicion del cuadradito que se pasa como argumento.
 int getDeltaY(int cuadrado, int orientacion)
          Si la pieza esta en una cierta columna X, se devuelve lo que hay que sumar a X para saber la posicion del cuadradito que se pasa como argumento.
 int getOrientacion()
          Posicion de la pieza, en cuanto a giro.
 void giroAleatorio()
          Rota la pieza, a izquierda o derecha, aleatoriamente.
 void giroDerecha()
          Rota la pieza a la derecha (sentido de las agujas del reloj), si es posible.
 void giroIzquierda()
          Rota la pieza a la izquierda (sentido de las agujas del reloj), si es posible.
 boolean haAterrizado()
          Verifica si la pieza ha aterrizado o si esta volando.
 void mueveAbajo()
          Mueve la pieza hacia abajo, si es posible.
 void mueveAlFondo()
          Mueve la pieza hacia abajo, hasta el fondo, si es posible.
 void mueveDerecha()
          Mueve la pieza a la derecha, si es posible.
 void mueveIzquierda()
          Mueve la pieza a la izquierda, si es posible.
 void setOrientacion(int orientacion)
          Marca la orientacion de la pieza.
 int size()
           
 boolean vincular(Tablero tablero, boolean center)
          Vincula la pieza esta a un tablero.
 

Method Detail

desvincular

void desvincular()
Retira la pieza del tablero.


enTablero

boolean enTablero()
Chequea si la pieza esta en un tablero.

Returns:
true si esta en un tablero.

esCompletamenteVisible

boolean esCompletamenteVisible()
Verifica si la pieza es perfectamente visible en un tablero. Si la pieza no esta en un tablero, FALSE.

Returns:
true si la pieza esta visible.

getDeltaX

int getDeltaX(int cuadrado)
Si la pieza esta en una cierta columna X, se devuelve lo que hay que sumar a X para saber la posicion del cuadradito que se pasa como argumento. Se usa la orientacion actual.

Parameters:
cuadrado - uno de los cuadraditos que componen la pieza.
Returns:
posicion relativa del cuadradito respecto de la figura.

getDeltaX

int getDeltaX(int cuadrado,
              int orientacion)
Si la pieza esta en una cierta columna X, se devuelve lo que hay que sumar a X para saber la posicion del cuadradito que se pasa como argumento. Se usa la orientacion que se pasa como parametro.

Parameters:
cuadrado - uno de los cuadraditos que componen la pieza.
orientacion - orientacion deseada, independiente de la orientacion actual de la pieza.
Returns:
posicion relativa del cuadradito respecto de la figura.

getDeltaY

int getDeltaY(int cuadrado)
Si la pieza esta en una cierta fila Y, se devuelve lo que hay que sumar a Y para saber la posicion del cuadradito que se pasa como argumento. Se usa la orientacion actual.

Parameters:
cuadrado - uno de los cuadraditos que componen la pieza.
Returns:
posicion relativa del cuadradito respecto de la figura.

getDeltaY

int getDeltaY(int cuadrado,
              int orientacion)
Si la pieza esta en una cierta columna X, se devuelve lo que hay que sumar a X para saber la posicion del cuadradito que se pasa como argumento. Se usa la orientacion que se pasa como parametro.

Parameters:
cuadrado - uno de los cuadraditos que componen la pieza.
orientacion - orientacion deseada, independiente de la orientacion actual de la pieza.
Returns:
posicion relativa del cuadradito respecto de la figura.

getOrientacion

int getOrientacion()
Posicion de la pieza, en cuanto a giro.

Returns:
0, 1, 2 o 3 segun este orientada poer defecto o en incrementos de pi/2.

giroAleatorio

void giroAleatorio()
Rota la pieza, a izquierda o derecha, aleatoriamente.


giroDerecha

void giroDerecha()
Rota la pieza a la derecha (sentido de las agujas del reloj), si es posible.


giroIzquierda

void giroIzquierda()
Rota la pieza a la izquierda (sentido de las agujas del reloj), si es posible.


haAterrizado

boolean haAterrizado()
Verifica si la pieza ha aterrizado o si esta volando.

Returns:
true si ha aterrizado.

mueveAbajo

void mueveAbajo()
Mueve la pieza hacia abajo, si es posible.


mueveAlFondo

void mueveAlFondo()
Mueve la pieza hacia abajo, hasta el fondo, si es posible.


mueveDerecha

void mueveDerecha()
Mueve la pieza a la derecha, si es posible.


mueveIzquierda

void mueveIzquierda()
Mueve la pieza a la izquierda, si es posible.


setOrientacion

void setOrientacion(int orientacion)
Marca la orientacion de la pieza.

0 - inicial
1 - pi/2 a derechas
2 - pi
3 - pi/2 a izquierdas.

Parameters:
orientacion - orientacion actual.

size

int size()
Returns:
numero de cuadraditos.

vincular

boolean vincular(Tablero tablero,
                 boolean center)
Vincula la pieza esta a un tablero. O sea, que la pieza hay que pintarla en algun tablero.

Parameters:
tablero - tablero al que se vincula.
center - true implica que queremos que la pieza aparezca centrada.
Returns:
true si se pudo colocar en el tablero (sin colisiones).