//**************************************************************** // TRABAJO ISBC : INTEGRACION JAVA-JESS. CASO DEL ELEVADOR //**************************************************************** // // Fichero: PanelDestino.java // Autor: // Modificado por: Daniel Urieta Lopez // Proposito: Contiene la clase PanelDestino que recoge por // cada ascensor los destinos pendientes que debe // recoger el ascensor. // //**************************************************************** import Piso; import boton; public class PanelDestino { private boton botones[]; private int numero_pisos; public PanelDestino(int n) { int i; numero_pisos=n; botones=new boton[n+1]; for (i=1;i<=n;i++) botones[i]=new boton(); } public void PulsarDestino(Piso P) { botones[P.GetIdPiso()].SetPulsado(true); } public void ResetDestino(Piso P) { botones[P.GetIdPiso()].SetPulsado(false); } public boolean DestinoPendiente(Piso P) { return botones[P.GetIdPiso()].IsPulsado(); } public boolean DestinoPendienteArriba(Piso P) { return DestinoPendienteArribaAmpliado(P.vecino_arriba); } public boolean DestinoPendienteAbajo(Piso P) { return DestinoPendienteAbajoAmpliado(P.vecino_abajo); } private boolean DestinoPendienteArribaAmpliado(Piso P) { if (P==null) return(false); else if ( DestinoPendiente(P) ) return true; else return( DestinoPendienteArribaAmpliado(P.vecino_arriba)); } private boolean DestinoPendienteAbajoAmpliado(Piso P) { if (P==null) return(false); else if ( DestinoPendiente(P) ) return true; else return( DestinoPendienteAbajoAmpliado(P.vecino_abajo)); } }