Hacker
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import is.SimTraffic.Messages;
importis.SimTraffic.Mapa.Nodo;
import is.SimTraffic.Mapa.Seal;
import is.SimTraffic.Mapa.Tramo;
import is.SimTraffic.Simulacion.Vehiculo;
public class Semaforo extends Seal implements Serializable {
/***
*/
private static final long serialVersionUID = 6608939050696766950L;
/**
* Lista con los intervalos entre los que ir cambiando el semforo en
* cada ciclo de operacin.
*/private ArrayList listaIntervalos;
/**
* Indica el tiempo total del patrn del semforo. La suma de todos los intervalos
* ser igual a este valor. Slo se permitir una serie de valorespredefinidos para
* la duracin total del semforo, con el fin de conseguir simplificar la sincronizacin
* entre diferentes semforos. Propuestos: 30, 60, 120 y 240 segundos.
*/
int tiempoTotal;int intervaloActual;
int relacionNroId[];
public Semaforo(Nodo nodoUbicacion, List listaTramos) {
if (listaTramos != null)
relacionNroId = new int[listaTramos.size()];crearRelacion(listaTramos);
listaIntervalos = new ArrayList();
this.tiempoTotal = 30;
this.setNodoUbicacion(nodoUbicacion);
this.setNombre(Messages.getString("Semaforo.0")); //$NON-NLS-1$
}private void crearRelacion(List listaTramos) {
if (listaTramos == null)
return;
Iterator it = listaTramos.iterator();
int cont = 0;
while (it.hasNext()) {
relacionNroId[cont] =it.next().getID();
cont++;
}
}
public void setIntervaloActual(int intervaloActual){
this.intervaloActual = intervaloActual;
}
public int getIntervaloActual(){
returnthis.intervaloActual;
}
public void incrementaIntervaloActual(){
intervaloActual++;
intervaloActual = intervaloActual %(this.listaIntervalos.size());
}
public void aadirIntervalo(int...
Regístrate para leer el documento completo.