furyPackage
Class Tiny

furyPackage.ObjectoDoNivel
  |
  +--furyPackage.ObjectoComVelocidade
        |
        +--furyPackage.Tiny

public final class Tiny
extends ObjectoComVelocidade
implements Iteravel, Reiniciavel, Removivel

Title: Fury of the Tiny

Description: Tiny - O Herói

Copyright: Copyright (c) 2005

Company: 4thFloor Corporation

Author:
Sérgio Lopes
Ruben Pedro
Version: 5.0

Field Summary
 private doubleanguloMaximo
          Guarda o angulo máximo
 private doubleanguloMinimo
          Guarda o angulo mínimo
 private Cordacorda
          Corda que o Tiny possui da habilidade corda
 private intestadoActual
          Estado actual do Tiny
 private EstadoTiny[]estados
          Estado possíveis que o Tiny pode estar
 private inthabilidadeActual
          Habilidade actualmente seleccionada
 private inthabilidadeInicial
          Habilidade inicial do Tiny
 private Habilidade[]habilidades
          Habilidades possíveis que o Tiny pode ter
 private booleanmorto
          Indica se o Tiny está morto ou não
 private StringnomeAnimacaoAnterior
           
 private intnumeroMoedasApanhadas
          Número actual de moedas apanhadas pelo Tiny no nível
 private intorientacao
          Orientação actual do Tiny
 private Orientacao[]orientacoes
          Orientações possíveis do Tiny
Esquerda, Direita e Parado
 private Suportavelplataforma
          Plataforma em que o Tiny está suportado
 private PontoposicaoInicial
          Posição inicial do Tiny
 private booleanrebolar
          Indica se o Tiny está a rebolar ou não
 private LinkedListsaco
          Saco de chaves

Constructor Summary
Tiny(String nome, Ponto posicaoInicial, Ponto posicaoFinal, double velocidadeAndar, double velocidadeSaltar, double velocidadeAngular, double anguloMinimo, double anguloMaximo, double distanciaCentroMinima, double distanciaCentroMaxima, boolean temHabilidadeAmarela, boolean temHabilidadeVerde, boolean temHabilidadeVermelha, String habilidadeInicial, long tempoActual, Nivel nivel)
           

Method Summary
 voidabrirFechadura(Fechadura fechadura, long tempo)
          Percorre o saco de chaves e verifica se tem alguma chave que possa usar na fechadura.
 voidadicionarChave(Chave chave)
          Adiciona uma chave ao saco de chaves do tiny
 voidaRebolar()
          Diz se o Tiny encontra-se a rebolar
 voidcair(long tempo)
          Coloca o Tiny no estado livre e fá-lo cair
 voidcorrigirHabilidadeActual(int novaHabilidade, long tempo)
          Se o Tiny tiver a mesma habilidade que o campo magnético que atravessou, esta é-lhe retirada, e se o Tiny estiver na habilidade de selecção e atravessar um campo magnético, este atribui-lhe automáticamente a sua respectiva habilidade
 voiddeixarDeEstarSuportado(long tempo)
          Faz o Tiny cair quando este deixa de estar suportado
 voiddeixarDeRebolar()
          Pára de rebolar o Tiny
 voiddesSuportar(long tempo)
          Pede ao estado actual para deixar de estar suportado
 voiddiagonalDireita(long tempo)
          Pede ao estado para mover o tiny para a diagonal direita
 voiddiagonalEsquerda(long tempo)
          Pede ao estado para mover o tiny para a diagonal esquerda
 voiddisparar(long tempo)
          Diz à habilidade actual para disparar
 doublegetAnguloMaximo()
           
 doublegetAnguloMinimo()
           
 CordagetCorda()
           
 EstadoTinygetEstado(int estado)
           
 EstadoTinygetEstadoActual()
           
 HabilidadegetHabilidade(int indice)
           
 HabilidadegetHabilidadeActual()
           
 MovimentogetMovimentoActual()
          Devolve o movimento actual do Tiny segundo o seu estado actual
 intgetNumeroMoedasApanhadas()
           
 OrientacaogetOrientacao(int orientacao)
           
 intgetOrientacao()
           
 OrientacaogetOrientacaoActual()
           
 SuportavelgetPlataforma()
           
 voidincrementarMoedasApanhadas()
          Incrementa o número de moedas que o tiny já apanhou
 booleanisMorto()
           
 booleanisRebolar()
           
 voiditerar(long tempo)
          Manda o estado actual iterar
 voidmorrer()
          Mata o tiny
 voidmoverBaixo(long tempo)
          Pede ao estado para mover para baixo
 voidmoverCima(long tempo)
          Pede ao estado para mover o tiny para cima
 voidmoverDireita(long tempo)
          Pede ao estado actual para deslocar o tiny para a direita e verifica se o tiny ainda está suportado.
 voidmoverEsquerda(long tempo)
          Pede ao estado actual para deslocar o tiny para a esquerda e verifica se o tiny ainda está suportado.
 voidmudarEstadoActual(int novoEstado)
          Muda o estado actual do tiny
 voidmudarHabilidade(int habilidade)
          Muda a habilidade actual para uma nova habilidade
 voidparar(long tempo)
          Pede ao estado para parar o tiny
 voidreiniciar(long tempo)
          Reinicia o Tiny
 private voidreiniciarHabilidades()
          Pede a todas as habilidades para reiniciar a sua disponibilidade
 voidremoverDoNivel()
          Faz o Tiny parar de iterar
 voidseleccionarHabilidadeActual(int habilidade)
          Selecciona uma nova habilidade
 voidseleccionarHabilidadeSeleccao()
          Selecciona a habilidade de selecção
 intseleccionarProximaHabilidade()
          Permite seleccionar a próxima habilidade disponível, caso exista
 intselecionarHabilidadeAnterior()
          Permite seleccionar a habilidade disponível anterior, caso exista
 voidsetCorda(Corda corda)
           
 voidsetNomeAnimacaoAnterior(String nomeAnimacao)
           
 voidsetOrientacao(int orientacao)
           
 voidsetPlataforma(Suportavel plataforma)
           
 voidtrataColisao(Activavel activavel, ResultadoColisao resultado)
          Pede ao activável para se activar
 voidtrataColisao(Suportavel plataforma, ResultadoColisao resultado)
          Pede ao estado actual para tratar a colisão com um objecto suportável
 private intverificarHabilidadeDisponivel()
          Verifica se existe alguma habilidade disponível

Methods inherited from class furyPackage.ObjectoComVelocidade
getVelocidade

Methods inherited from class furyPackage.ObjectoDoNivel
getNivel, getNome, getPosicao, getSprite, setSprite, toString

Field Detail

anguloMaximo

private double anguloMaximo
Guarda o angulo máximo

anguloMinimo

private double anguloMinimo
Guarda o angulo mínimo

corda

private Corda corda
Corda que o Tiny possui da habilidade corda

estadoActual

private int estadoActual
Estado actual do Tiny

estados

private EstadoTiny[] estados
Estado possíveis que o Tiny pode estar

habilidadeActual

private int habilidadeActual
Habilidade actualmente seleccionada

habilidadeInicial

private int habilidadeInicial
Habilidade inicial do Tiny

habilidades

private Habilidade[] habilidades
Habilidades possíveis que o Tiny pode ter

morto

private boolean morto
Indica se o Tiny está morto ou não

nomeAnimacaoAnterior

private String nomeAnimacaoAnterior

numeroMoedasApanhadas

private int numeroMoedasApanhadas
Número actual de moedas apanhadas pelo Tiny no nível

orientacao

private int orientacao
Orientação actual do Tiny

orientacoes

private Orientacao[] orientacoes
Orientações possíveis do Tiny
Esquerda, Direita e Parado

plataforma

private Suportavel plataforma
Plataforma em que o Tiny está suportado

posicaoInicial

private Ponto posicaoInicial
Posição inicial do Tiny

rebolar

private boolean rebolar
Indica se o Tiny está a rebolar ou não

saco

private LinkedList saco
Saco de chaves
Constructor Detail

Tiny

public Tiny(String nome, Ponto posicaoInicial, Ponto posicaoFinal, double velocidadeAndar, double velocidadeSaltar, double velocidadeAngular, double anguloMinimo, double anguloMaximo, double distanciaCentroMinima, double distanciaCentroMaxima, boolean temHabilidadeAmarela, boolean temHabilidadeVerde, boolean temHabilidadeVermelha, String habilidadeInicial, long tempoActual, Nivel nivel)
Method Detail

abrirFechadura

public void abrirFechadura(Fechadura fechadura, long tempo)
Percorre o saco de chaves e verifica se tem alguma chave que possa usar na fechadura. Em caso afirmativo pede à fechadura para abrir a porta

adicionarChave

public void adicionarChave(Chave chave)
Adiciona uma chave ao saco de chaves do tiny

aRebolar

public void aRebolar()
Diz se o Tiny encontra-se a rebolar

cair

public void cair(long tempo)
Coloca o Tiny no estado livre e fá-lo cair

corrigirHabilidadeActual

public void corrigirHabilidadeActual(int novaHabilidade, long tempo)
Se o Tiny tiver a mesma habilidade que o campo magnético que atravessou, esta é-lhe retirada, e se o Tiny estiver na habilidade de selecção e atravessar um campo magnético, este atribui-lhe automáticamente a sua respectiva habilidade

deixarDeEstarSuportado

public void deixarDeEstarSuportado(long tempo)
Faz o Tiny cair quando este deixa de estar suportado

deixarDeRebolar

public void deixarDeRebolar()
Pára de rebolar o Tiny

desSuportar

public void desSuportar(long tempo)
Pede ao estado actual para deixar de estar suportado

diagonalDireita

public void diagonalDireita(long tempo)
Pede ao estado para mover o tiny para a diagonal direita

diagonalEsquerda

public void diagonalEsquerda(long tempo)
Pede ao estado para mover o tiny para a diagonal esquerda

disparar

public void disparar(long tempo)
Diz à habilidade actual para disparar

getAnguloMaximo

public double getAnguloMaximo()

getAnguloMinimo

public double getAnguloMinimo()

getCorda

public Corda getCorda()

getEstado

public EstadoTiny getEstado(int estado)

getEstadoActual

public EstadoTiny getEstadoActual()

getHabilidade

public Habilidade getHabilidade(int indice)

getHabilidadeActual

public Habilidade getHabilidadeActual()

getMovimentoActual

public Movimento getMovimentoActual()
Devolve o movimento actual do Tiny segundo o seu estado actual

getNumeroMoedasApanhadas

public int getNumeroMoedasApanhadas()

getOrientacao

public Orientacao getOrientacao(int orientacao)

getOrientacao

public int getOrientacao()

getOrientacaoActual

public Orientacao getOrientacaoActual()

getPlataforma

public Suportavel getPlataforma()

incrementarMoedasApanhadas

public void incrementarMoedasApanhadas()
Incrementa o número de moedas que o tiny já apanhou

isMorto

public boolean isMorto()

isRebolar

public boolean isRebolar()

iterar

public void iterar(long tempo)
Manda o estado actual iterar
Parameters:
tempo long

morrer

public void morrer()
Mata o tiny

moverBaixo

public void moverBaixo(long tempo)
Pede ao estado para mover para baixo

moverCima

public void moverCima(long tempo)
Pede ao estado para mover o tiny para cima

moverDireita

public void moverDireita(long tempo)
Pede ao estado actual para deslocar o tiny para a direita e verifica se o tiny ainda está suportado. Caso não esteja este passa para o estado livre

moverEsquerda

public void moverEsquerda(long tempo)
Pede ao estado actual para deslocar o tiny para a esquerda e verifica se o tiny ainda está suportado. Caso não esteja este passa para o estado livre

mudarEstadoActual

public void mudarEstadoActual(int novoEstado)
Muda o estado actual do tiny

mudarHabilidade

public void mudarHabilidade(int habilidade)
Muda a habilidade actual para uma nova habilidade

parar

public void parar(long tempo)
Pede ao estado para parar o tiny

reiniciar

public void reiniciar(long tempo)
Reinicia o Tiny

reiniciarHabilidades

private void reiniciarHabilidades()
Pede a todas as habilidades para reiniciar a sua disponibilidade

removerDoNivel

public void removerDoNivel()
Faz o Tiny parar de iterar

seleccionarHabilidadeActual

public void seleccionarHabilidadeActual(int habilidade)
Selecciona uma nova habilidade

seleccionarHabilidadeSeleccao

public void seleccionarHabilidadeSeleccao()
Selecciona a habilidade de selecção

seleccionarProximaHabilidade

public int seleccionarProximaHabilidade()
Permite seleccionar a próxima habilidade disponível, caso exista

selecionarHabilidadeAnterior

public int selecionarHabilidadeAnterior()
Permite seleccionar a habilidade disponível anterior, caso exista

setCorda

public void setCorda(Corda corda)

setNomeAnimacaoAnterior

public void setNomeAnimacaoAnterior(String nomeAnimacao)

setOrientacao

public void setOrientacao(int orientacao)

setPlataforma

public void setPlataforma(Suportavel plataforma)

trataColisao

public void trataColisao(Activavel activavel, ResultadoColisao resultado)
Pede ao activável para se activar

trataColisao

public void trataColisao(Suportavel plataforma, ResultadoColisao resultado)
Pede ao estado actual para tratar a colisão com um objecto suportável

verificarHabilidadeDisponivel

private int verificarHabilidadeDisponivel()
Verifica se existe alguma habilidade disponível

Association Links

to Class furyPackage.estados.EstadoTiny

Estado possíveis que o Tiny pode estar

to Class furyPackage.estados.Habilidade

Habilidades possíveis que o Tiny pode ter

to Class java.lang.String

to Class java.util.LinkedList

Saco de chaves

to Class furyPackage.Suportavel

Plataforma em que o Tiny está suportado

to Class furyPackage.Corda

Corda que o Tiny possui da habilidade corda

to Class furyPackage.estados.Orientacao

Orientações possíveis do Tiny
Esquerda, Direita e Parado