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.