Class Obj

java.lang.Object
  extended byjavax.microedition.lcdui.game.Layer
      extended byjavax.microedition.lcdui.game.Sprite
          extended byObj
Direct Known Subclasses:
ObjetoAnimadoNW, ObjetoNW

public abstract class Obj
extends javax.microedition.lcdui.game.Sprite

Clase Objeto


Field Summary
private  int colDestino
          Columna donde aparecerá el pje en el mapa destino a traves de Obj clave.
private  java.lang.String descripcion
          Descripción del objeto
private  boolean[] eCogible
          se puede coger el objeto?
private  java.lang.String[] eDesc
          Descripciones correspondientes a cada estado
private  java.lang.String[] eFrase
          Frases de uso correspondientes a cada estado
private  java.lang.String[] eFraseCogido
          frase al coger (o no coger) el objeto
private  java.lang.String[] eFraseErrorEstado
          Frases de error si los objetos a usar coinciden, pero no sus estados
 javax.microedition.lcdui.Image[] eImg
          Imágenes correspondientes a cada estado
private  java.lang.String[] eImgPath
          Rutas a los ficheros de imagenes
private  int[] eNumMapa
          Número de mapa de donde ha de ser originario el Obj a usar
private  int[] eNumObj
          Posición en la lista del mapa que ha de ocupar el Obj a usar
private  boolean esAnimado
          Flag para distinguir Obj animados y estáticos
private  boolean esClave
          Flag para distinguir entre Obj clave y los que no lo son
private  int estadoActual
          Estado en el que se encuentra el objeto
private  int[] eUsabEnEstado
          Estado en el que tiene que estar el Obj a usar para poder ser usado con el actual en su actual estado
private  javax.microedition.lcdui.Image imag
          Imagen temporal global para ser usada dentro de los bloques try{}
private  int mapa
          Numero de mapa donde esta _este_ Obj
private  int mapaDestino
          Número de mapa que será cargado al tocar el objeto clave.
private  int numeroEstados
          Numero de estados
private  int posicionInventario
          Posición del Obj en el array Inventario.lista[].
private  int posicionLista
          Posición en la lista del mapa que ocupa _este_ Obj
private  int rowDestino
          Fila donde aparecerá el pje en el mapa destino a traves de Obj clave.
private  javax.microedition.lcdui.Image vacio
          Imagen del objeto vacio (dummy)
 
Fields inherited from class javax.microedition.lcdui.game.Sprite
TRANS_MIRROR, TRANS_MIRROR_ROT180, TRANS_MIRROR_ROT270, TRANS_MIRROR_ROT90, TRANS_NONE, TRANS_ROT180, TRANS_ROT270, TRANS_ROT90
 
Fields inherited from class javax.microedition.lcdui.game.Layer
 
Constructor Summary
Obj(javax.microedition.lcdui.Image image)
          CONSTRUCTOR PARA ESTATICO
Obj(javax.microedition.lcdui.Image image, int width, int height)
          CONSTRUCTOR PARA ANIMADO
 
Method Summary
 void addEstado(java.lang.String img, java.lang.String frase, java.lang.String desc, boolean cog, java.lang.String fraseCogido, int mapaNum, int numobj, int numobjEnEstado, java.lang.String fraseError)
          Añade un estado al Objeto.
 java.lang.String changeEstado()
          Cambia al siguiente estado o al estado nulo si no existen más estados.
 boolean esAnimado()
          Consulta si se trata de un Obj animado
 boolean esCogible()
          Consulta si el Obj puede cogerse o no.
 void estadoNulo()
          Cambia el Objeto a su estado nulo, estado final sin imagen, visibilidad, ni posibles interacciones.
 int getColDestino()
          Devuelve la columna donde posicionar al personaje.
 int getEstado()
          Consulta el estado en el que se halla este Obj.
 java.lang.String getFraseCogido()
          Consulta la frase al coger/no coger el Obj.
 java.lang.String getFraseErrorEstado()
          Consulta la frase de error de uso por no estar los Objs en sus estados correspondientes.
 int getMapa()
          Consulta el número de mapa al que pertenece este Obj.
 int getMapaDestino()
          Devuelve el mapa de destino del objeto clave.
 int getNumeroEstados()
          Consulta el número total de estados que posee este Obj.
 int getNumMapa()
          Consulta el número de mapa al que debe pertenecer el Obj a usar con éste.
 int getNumObj()
          Consulta la posición en lista que tiene que tener el Obj a usar con éste.
 int getPosicionInventario()
          Retorna la posición en el Inventario de este Obj
 int getPosLista()
          Consulta la posición en lista de este Obj.
 int getRowDestino()
          Devuelve la fila donde posicionar al personaje.
 int getUsableEnEstado()
          Consulta el estado en el que debe hallarse el Obj a usar con éste.
 int getUsableTemp(int i)
          Consulta la posición en la lista (número de objeto) que tiene que tener el Obj a usar con éste.
 java.lang.String mirar()
          Consulta la descripción de este Obj en su actual estado.
 void setCogible(boolean b, java.lang.String s)
          Establece si el Obj se puede coger o no, así como su frase al cogerlo o ante la imposibilidad de cogerlo.
 void setEsClave(boolean b, int mapa, int col, int row)
          Modifica la propiedad esClave, así como el mapa de destino.
 void setEstado(int i)
          Establece estado actual
 void setMapa(int i)
          Establece el Número de mapa al que originalmente pertenece este Obj.
 void setNumeroEstados(int posLista, int i, javax.microedition.lcdui.Image imgEstCero, java.lang.String s, int mapaNum, int uTemp, int uEnEstado, java.lang.String fError)
          Establece el numero de estados totales del Obj y pasa toda la información para el estado numero cero.
 void setPosicionInventario(int i)
          Establece la posición en el Inventario de este Obj
 int usableConNW(Obj obj)
          Comprueba si _este_ Obj es usable con el que se pasa como parámetro.
 java.lang.String usarConNW(Obj obj, CanvasJuego canvas)
          Usa dos objetos entre sí y devuelve el retorno de haberlos (o no) usado.
 
Methods inherited from class javax.microedition.lcdui.game.Sprite
collidesWith, collidesWith, collidesWith, defineCollisionRectangle, defineReferencePixel, getFrame, getFrameSequenceLength, getRawFrameCount, getRefPixelX, getRefPixelY, nextFrame, paint, prevFrame, setFrame, setFrameSequence, setImage, setRefPixelPosition, setTransform
 
Methods inherited from class javax.microedition.lcdui.game.Layer
getHeight, getWidth, getX, getY, isVisible, move, setPosition, setVisible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

descripcion

private java.lang.String descripcion
Descripción del objeto


eCogible

private boolean[] eCogible
se puede coger el objeto?


eFraseCogido

private java.lang.String[] eFraseCogido
frase al coger (o no coger) el objeto


numeroEstados

private int numeroEstados
Numero de estados


eImgPath

private java.lang.String[] eImgPath
Rutas a los ficheros de imagenes


eDesc

private java.lang.String[] eDesc
Descripciones correspondientes a cada estado


eImg

public javax.microedition.lcdui.Image[] eImg
Imágenes correspondientes a cada estado


eFrase

private java.lang.String[] eFrase
Frases de uso correspondientes a cada estado


eFraseErrorEstado

private java.lang.String[] eFraseErrorEstado
Frases de error si los objetos a usar coinciden, pero no sus estados


eNumMapa

private int[] eNumMapa
Número de mapa de donde ha de ser originario el Obj a usar


eNumObj

private int[] eNumObj
Posición en la lista del mapa que ha de ocupar el Obj a usar


eUsabEnEstado

private int[] eUsabEnEstado
Estado en el que tiene que estar el Obj a usar para poder ser usado con el actual en su actual estado


mapa

private int mapa
Numero de mapa donde esta _este_ Obj


posicionLista

private int posicionLista
Posición en la lista del mapa que ocupa _este_ Obj


estadoActual

private int estadoActual
Estado en el que se encuentra el objeto


imag

private javax.microedition.lcdui.Image imag
Imagen temporal global para ser usada dentro de los bloques try{}


vacio

private javax.microedition.lcdui.Image vacio
Imagen del objeto vacio (dummy)


posicionInventario

private int posicionInventario
Posición del Obj en el array Inventario.lista[]. Por defecto vale 6, es decir, no se halla en el inventario


esAnimado

private boolean esAnimado
Flag para distinguir Obj animados y estáticos


esClave

private boolean esClave
Flag para distinguir entre Obj clave y los que no lo son


mapaDestino

private int mapaDestino
Número de mapa que será cargado al tocar el objeto clave. Si no, mapaDestino = -1


colDestino

private int colDestino
Columna donde aparecerá el pje en el mapa destino a traves de Obj clave.


rowDestino

private int rowDestino
Fila donde aparecerá el pje en el mapa destino a traves de Obj clave.

Constructor Detail

Obj

public Obj(javax.microedition.lcdui.Image image)
CONSTRUCTOR PARA ESTATICO


Obj

public Obj(javax.microedition.lcdui.Image image,
           int width,
           int height)
CONSTRUCTOR PARA ANIMADO

Method Detail

getMapaDestino

public int getMapaDestino()
Devuelve el mapa de destino del objeto clave.

Returns:
El número de mapa de destino si es clave
-1 si no es objeto clave (o el objeto clave no esta en su ultimo estado)

getColDestino

public int getColDestino()
Devuelve la columna donde posicionar al personaje.

Returns:
columna donde posicionar al personaje.

getRowDestino

public int getRowDestino()
Devuelve la fila donde posicionar al personaje.

Returns:
fila donde posicionar al personaje.

setEsClave

public void setEsClave(boolean b,
                       int mapa,
                       int col,
                       int row)
Modifica la propiedad esClave, así como el mapa de destino.

Parameters:
b - true si es clave, false si no lo es
mapa - Número del mapa de destino

esAnimado

public boolean esAnimado()
Consulta si se trata de un Obj animado

Returns:
true si es animado
false si no lo es

usableConNW

public int usableConNW(Obj obj)
Comprueba si _este_ Obj es usable con el que se pasa como parámetro. Para comprobar que dos objetos pueden usarse entre sí, se realizan tres comprobaciones desde ambos objetos:

¿THIS ocupa la posición en la lista que debe Y OBJ tambien?
¿THIS está en el estado que debe Y OBJ tambien?
¿THIS pertenece al número de mapa que debe Y OBJ tambien?
Comprobando los números de mapa y posiciones en las listas sabremos si ambos objetos son los adecuados. Si además coinciden los estados no hay posibilidad de error. Este método es llamado desde usarConNW(Obj, CanvasJuego).

Parameters:
obj - Objeto a comprobar si es usable con THIS.
Returns:
0 - Si los Objs pueden usarse entre sí pero no en el estado actual y ninguno tiene frase de error.
1 - Si son usables entre sí y ademas ambos estan en el estado adecuado.
2 - Si no son usables entre sí.
3 - Si THIS tiene frase de error por no hallarse en el estado adecuado.
4 - Si OBJ tiene la frase de error

usarConNW

public java.lang.String usarConNW(Obj obj,
                                  CanvasJuego canvas)
Usa dos objetos entre sí y devuelve el retorno de haberlos (o no) usado. Dos objetos al usarse entre si cambian ambos de estado (changeEstado()). Uno de ellos pasara a estado nulo (o a su estado final) y el otro es el que cambiara la imagen, descripción, usabilidad y retornará la frase de haber usado los 2 objs entre si.
Primero hay una llamada a usableConNW(Obj) que indica si son usables, si hay frase de error o si no lo son.

Parameters:
obj - Objeto a usar con THIS.
canvas - Referencia al CanvasJuego (para llamar a CanvasJuego.mueveCuadradoAtras()).
Returns:
Frase de haber usado los objetos o
Frase de error por no estar en el estado adecuado o
"" (String vacío) No usables o usables en otro estado y sin frase de error. Esto lo interpreta Frase.setFrase(String, int).

setPosicionInventario

public void setPosicionInventario(int i)
Establece la posición en el Inventario de este Obj


getPosicionInventario

public int getPosicionInventario()
Retorna la posición en el Inventario de este Obj

Returns:
posición en Inventario o
6 si el Obj no está en el Inventario

setEstado

public void setEstado(int i)
Establece estado actual


changeEstado

public java.lang.String changeEstado()
Cambia al siguiente estado o al estado nulo si no existen más estados. Es llamado desde usarConNW(Obj, CanvasJuego) para cambiar el estado de los 2 objetos. 1 de los cuales pasará a ser nulo (o estado final).

Básicamente se trata de:
- Cambiar de estado
- Cambiar imagen
- Devolver frase de uso del estado anteriorCo

Returns:
Frase de uso del estado anterior o
"" (String vacío). Señal de paso a estado nulo;interpretado por usarConNW(Obj, CanvasJuego).

estadoNulo

public void estadoNulo()
Cambia el Objeto a su estado nulo, estado final sin imagen, visibilidad, ni posibles interacciones.


addEstado

public void addEstado(java.lang.String img,
                      java.lang.String frase,
                      java.lang.String desc,
                      boolean cog,
                      java.lang.String fraseCogido,
                      int mapaNum,
                      int numobj,
                      int numobjEnEstado,
                      java.lang.String fraseError)
Añade un estado al Objeto. Primero hay que definir el numero total de estados y rellenar el estado 0 (con setNumeroEstados(int, int, Image, String, int, int, int, String)) y posteriormente propocionar toda la información a través de este método para añadir estados (Rellenar, más que añadir).

Parameters:
img - Ruta del fichero de la imagen del Obj en el estado que se añade.
frase - Frase de uso del estado anterior.
desc - Descripción del Obj en el estado que se añade.
mapaNum - Número de mapa al que debe pertenecer el Obj que puede ser usado con éste en el estado que se añade.
numobj - Posición en la lista del mapa que tiene que tener el Obj que puede ser usado con éste en el estado que se añade.
numobjEnEstado - Estado en el que tiene que hallarse el Obj que puede usarse con éste.
fraseError - Frase de error por no hallarse los Objs a usar en los estados en los que deberían estar.

setNumeroEstados

public void setNumeroEstados(int posLista,
                             int i,
                             javax.microedition.lcdui.Image imgEstCero,
                             java.lang.String s,
                             int mapaNum,
                             int uTemp,
                             int uEnEstado,
                             java.lang.String fError)
Establece el numero de estados totales del Obj y pasa toda la información para el estado numero cero.

Parameters:
posLista - Posición en lista de este Obj.
i - Número de estados.
imgEstCero - Imagen del estado 0.
s - Descripción del estado 0.
mapaNum - Número de mapa al que debe pertenecer el Obj usable con éste en su estado 0.
uTemp - Posición en lista que tiene que tener el Obj usable con éste en su estado 0.
uEnEstado - Estado en el que tiene que hallarse el Obj usable con éste en su estado 0.
fError - Frase de error por diferencia de estados.

setCogible

public void setCogible(boolean b,
                       java.lang.String s)
Establece si el Obj se puede coger o no, así como su frase al cogerlo o ante la imposibilidad de cogerlo.

Parameters:
b - true si es cogible o false si no puede cogerse.
s - Frase al coger (o no) el Obj.

setMapa

public void setMapa(int i)
Establece el Número de mapa al que originalmente pertenece este Obj.

Parameters:
i - Número de mapa al que pertenece el Obj.

getMapa

public int getMapa()
Consulta el número de mapa al que pertenece este Obj.

Returns:
Número de mapa al que pertenece este Obj.

getPosLista

public int getPosLista()
Consulta la posición en lista de este Obj.

Returns:
Posición en lista de este Obj.

getEstado

public int getEstado()
Consulta el estado en el que se halla este Obj.

Returns:
Estado actual.

getNumMapa

public int getNumMapa()
Consulta el número de mapa al que debe pertenecer el Obj a usar con éste.

Returns:
Número de mapa al que debe pertenecer el Obj a usar con éste.

getNumObj

public int getNumObj()
Consulta la posición en lista que tiene que tener el Obj a usar con éste.

Returns:
Posición en lista del Obj a usar con éste.

getUsableEnEstado

public int getUsableEnEstado()
Consulta el estado en el que debe hallarse el Obj a usar con éste.

Returns:
Estado que tiene que tener el Obj a usar con éste.

getFraseErrorEstado

public java.lang.String getFraseErrorEstado()
Consulta la frase de error de uso por no estar los Objs en sus estados correspondientes.

Returns:
Frase de error o
"" (String vacío) si no ha definido.

getNumeroEstados

public int getNumeroEstados()
Consulta el número total de estados que posee este Obj.

Returns:
Número de Estados.

getUsableTemp

public int getUsableTemp(int i)
Consulta la posición en la lista (número de objeto) que tiene que tener el Obj a usar con éste.

Returns:
Posición en lista que debe tener el Obj a usar con éste.

esCogible

public boolean esCogible()
Consulta si el Obj puede cogerse o no.

Returns:
true si puede cogerse o
false si no se puede.

getFraseCogido

public java.lang.String getFraseCogido()
Consulta la frase al coger/no coger el Obj.

Returns:
Frase al coger/no coger el Obj.

mirar

public java.lang.String mirar()
Consulta la descripción de este Obj en su actual estado.

Returns:
Descripción del Obj.