Greenfoot - Controe de elevador

0 respostas
I

Boa tarde,

Eu já criei um tópico com esse assunto, mas o meu problema agora é diferente, e o programa utilizado também.

Vou tentar postar uma imagem, mas não sei se vocês vão conseguir visualizar.

Enfim, eu tenho dois elevadores, e 7 botões. Os botões estão em cada andar e o objetivo é eu apertar um botão qualquer e o elevador subir para o andar em que está o botão.

Meu código é esse:

public class Lift extends Actor {
    public int id;
    public int direcao = 1;
       int sobe = 1;
       int desce = 2;
       int sobeDireita = 3;
       int sobeEsquerda = 4;
       public int andarDestino;
       int andarElevador = 1;
        
       
    
    public Lift (int liftId) {
        this.id = liftId;
    }
    
   
    public void goTo (int andarDestino) {
        this.andarDestino = andarDestino;
        
            if (this.andarDestino >= andarElevador) {
                direcao = 1;
            }
            
            if (this.andarDestino < andarElevador) {
                direcao = 2;
            }
            
    }
  
 public void act() {
        if (id == 1) {
            
            if (direcao == 1) {
                if (andarElevador >= 8 - andarDestino + 1) {
                    int x = getX();
                    int y = getY();
                    setLocation(x,y-1);
                    andarElevador--;
                }
            }
            
            if (direcao == 2) {
                if (andarElevador <= 8 - andarDestino) {
                    int x = getX();
                    int y = getY();
                    setLocation(x,y+1);
                    andarElevador++;
                }

Onde andarDestino é o andar que eu quero que o elevador vá e andarElevador é o andar em que o elevador inicia no programa.
O que acontece é que quando eu aperto um botão qualquer o elevador não sobe. Mas se eu apertar o ultimo botão o elevador sobe mas somente UM ANDAR.
Faz uns dois dias que procuro meu erro e não acho. Se alguém puder me dar uma luz ficarei muito agradecida.

Agradeço desde já!

Att,
Isabella.

Criado 18 de setembro de 2012
Respostas 0
Participantes 1