Jogo olhem!

1 resposta
J

Olá pessoal sou novato em Java e gostaria da ajuda de vcs para resolver um probleminha...
Bem, é o seguinte, eu tenho uma classe chamada Jogo dentro dessa classe está sendo criado três obejtos de outras classes: céu e grama, de uma classe chamada Retangulo e aviao1 de uma classe chamada Aviao. Eu tenho que implementar algumas funções para o objeto aviao1, tipo método moveDireita, moveEsquerda, moveAcima, moveAbaixo. O que eu queria saber é como eu chamo esses métodos apenas para o objeto aviao1, tendo em vista que dentro da classe Aviao ele tem métodos moveHorizontal, moveVertical. Os métodos da classe Jogo, moveDireita, e moveEsquerda,..., eles tem que fazer o aviao1 se movimentar devagar...

LEMBRETE EU NÃO QUERO CÓDIGOS...

Pq eu já tenho métodos prontos do tipo slowMoveVertical, slowMoveHorizontal, moveEsquerda, moveDireita, moveAcima, moveAbaixo....O que tá pegando é saber como chamar o esses métodos para o aviao1 na classe Jogo...Lembrando que por exemplo se usuário quer mexer o aviao1 para a direita, ele vai lá e digita um valor inteiro, e então o aviao1 vai se movendo lentamente ,slowMoveHorizontal, para a direita...

public void slowMoveHorizontal(int distance)
    {
        int delta;

        if(distance < 0) 
        {
            delta = -1;
            distance = -distance;
        }
        else 
        {
            delta = 1;
        }

        for(int i = 0; i < distance; i++)
        {
            xPosition += delta;
            draw();
        }
    }
public void slowMoveVertical(int distance)
    {
        int delta;

        if(distance < 0) 
        {
            delta = -1;
            distance = -distance;
        }
        else 
        {
            delta = 1;
        }

        for(int i = 0; i < distance; i++)
        {
            yPosition += delta;
            draw();
        }
    }
public void moveHorizontal(int distance)
    {
        erase();
        xPosition += distance;
        draw();
    }
public void moveVertical(int distance)
    {
        erase();
        yPosition += distance;
        draw();
    }

1 Resposta

diego2005

Uma idéia seria você apenas definir esses métodos na classe Jogo e quando chama-lós, você usará o objeto aviao para chamar os métodos reais.

public class Jogo
{
    private Aviao aviao1;

    public Jogo()
   {
        aviao1 = new Aviao();
   }

    public void moveHorizontal(int distance)
    {
         aviao1.moveHorizontal(distance);
    }
    
    public void moveVertical(int distance)
    {
         aviao1.moveVertical(distance);
    }
}

É apenas uma sugestão, as vezes pode ter uma saída melhor....T+

Criado 7 de outubro de 2006
Ultima resposta 7 de out. de 2006
Respostas 1
Participantes 2