示例#1
0
        public virtual int PasajerosDescendidos(Formacion formacion, long t)
        {
            int pasajerosDescendidos;

            if (formacion.SentidoActual == Sentido.IDA)
            {
                pasajerosDescendidos = FDP.Normal(PersonasDesciendenMinIda, PersonasDesciendenMaxIda);
            }
            else
            {
                pasajerosDescendidos = FDP.Normal(PersonasDesciendenMinVuelta, PersonasDesciendenMaxVuelta);
            }
            if (pasajerosDescendidos > formacion.Pasajeros)
            {
                pasajerosDescendidos = formacion.Pasajeros;
            }
            return(pasajerosDescendidos);
        }
示例#2
0
        public virtual int PasajerosAscendidos(Formacion formacion, long t, int pasajerosDescendidos)
        {
            int pasajerosAscendidos;

            if (formacion.SentidoActual == Sentido.IDA)
            {
                pasajerosAscendidos = FDP.Normal(PersonasEsperandoMinIda, PersonasEsperandoMaxIda);
            }
            else
            {
                pasajerosAscendidos = FDP.Normal(PersonasEsperandoMinVuelta, PersonasEsperandoMaxVuelta);
            }

            if (formacion.Pasajeros - pasajerosDescendidos + pasajerosAscendidos > formacion.GetCapacidadReal())
            {
                return(formacion.Pasajeros - pasajerosDescendidos + pasajerosAscendidos - formacion.GetCapacidadReal());
            }
            return(pasajerosAscendidos);
        }