public void Ciclo() { switch (semaforoLuce) { case SemaforoLuce.Verde: if (Tempo.Ora - tempoUltimoCambiamento >= durataVerde) { semaforoLuce = SemaforoLuce.Giallo; tempoUltimoCambiamento = Tempo.Ora; } break; case SemaforoLuce.Giallo: if (Tempo.Ora - tempoUltimoCambiamento >= durataGiallo) { semaforoLuce = SemaforoLuce.Rosso; tempoUltimoCambiamento = Tempo.Ora; } break; case SemaforoLuce.Rosso: if (Tempo.Ora - tempoUltimoCambiamento >= durataRosso) { semaforoLuce = SemaforoLuce.Verde; tempoUltimoCambiamento = Tempo.Ora; } break; } }
public Semaforo(double _posizioneX, SemaforoLuce _semaforoLuce, double _durataVerde, double _durataGiallo, double _tempoMinimoDiPercorrenza, double _durataSicurezza) { posizioneX = _posizioneX; semaforoLuce = _semaforoLuce; durataGiallo = _durataGiallo; durataVerde = _durataVerde; tempoMinimoDiPercorrenza = _tempoMinimoDiPercorrenza; durataSovrapposizioneRosso = _tempoMinimoDiPercorrenza + _durataSicurezza; durataSicurezza = _durataSicurezza; durataRosso = durataVerde + durataGiallo + 2 * tempoMinimoDiPercorrenza + 2 * durataSicurezza; durataTotale = durataVerde + durataGiallo + durataRosso; Debugga(); }
public Semaforo(double _posizioneX, SemaforoLuce _semaforoLuce, double _tempoMinimoDiPercorrenza) { posizioneX = _posizioneX; semaforoLuce = _semaforoLuce; durataRosso = DatiGenerali.Semaforo.DurataRosso; durataGiallo = DatiGenerali.Semaforo.DurataGiallo; durataVerde = DatiGenerali.Semaforo.DurataVerde; durataSicurezza = DatiGenerali.Semaforo.DurataSicurezza; tempoMinimoDiPercorrenza = _tempoMinimoDiPercorrenza; durataSovrapposizioneRosso = _tempoMinimoDiPercorrenza + durataSicurezza; durataTotale = durataVerde + durataGiallo + durataRosso; Debugga(); }