Пример #1
0
        public static string[] ToArrayString()
        {
            /*
             * string[] stringColocador1 = ColocadorDeRueda1.ToArrayString();
             * string[] stringColocador2 = ColocadorDeRueda2.ToArrayString();
             *
             * string[] printArray = new string[2 + stringColocador1.Length + stringColocador2.Length]; //Podría hardcodearse pero le agrega acoplamiento al código y le quita cohesion
             *
             * printArray[0]=(cola.Count.ToString());
             * printArray[1]=(cantidadColaMax.ToString());
             *
             * stringColocador1.CopyTo(printArray, 2);
             * stringColocador2.CopyTo(printArray, stringColocador1.Length);
             */

            string[] printArray = new string[13]; //2 + 5 + 5

            printArray[0] = (cola.Count.ToString());
            printArray[1] = (cantidadColaMax.ToString());
            printArray[2] = (Evento.ruedas).ToString();

            ColocadorDeRueda1.ToArrayString().CopyTo(printArray, 3);
            ColocadorDeRueda2.ToArrayString().CopyTo(printArray, 8);
            return(printArray);
        }
Пример #2
0
        public static void ReingresarBicicletaParaTerminar(short colocador, uint idBici)
        {
            if (sePuedeColocar)
            {
                atendiendo = true; //empieza a atender
                if (colocador == 1)
                {
                    ColocadorDeRueda1.ComenzarATrabajar(idBici);
                }
                else
                {
                    ColocadorDeRueda2.ComenzarATrabajar(idBici);
                }
            }
            else
            {
                if (colocador == 1)
                {
                    bicisEsperandoRuedas[0] = idBici;
                }
                else
                {
                    bicisEsperandoRuedas[1] = idBici;;
                }
            }

            CalcularServidorMasRapido();
            SePuedeSeguirColocando();
        }
Пример #3
0
        private static void ComenzarATrabajar()
        {
            uint      id       = cola[0];
            Bicicleta biciCola = Bicicletas.ObtenerBicicleta(id);

            if (biciCola.Estado == 2 && !atendiendo)
            {
                ColocadorDeRueda1.ComenzarATrabajar(id);
                SePuedeSeguirColocando(); if (sePuedeColocar)
                {
                    ColocadorDeRueda2.ComenzarATrabajar(id);
                }
            }
            else if (ColocadorDeRueda1.Atendiendo)
            {
                ColocadorDeRueda2.ComenzarATrabajar(id);
            }
            else
            {
                ColocadorDeRueda1.ComenzarATrabajar(id);
            }

            atendiendo = true; //empieza a atender
            cola.RemoveAt(0);

            CalcularServidorMasRapido();
            SePuedeSeguirColocando();
        }
Пример #4
0
 private static void IndicarFinTrabajoAlServidor()
 {
     if (servidorIdMasPronto == 1)
     {
         ColocadorDeRueda1.TerminarTrabajo();
     }
     else
     {
         ColocadorDeRueda2.TerminarTrabajo();
     }
 }
Пример #5
0
 public static void Reiniciar()
 {
     ColocadorDeRueda1.Reiniciar();
     ColocadorDeRueda2.Reiniciar();
     atendiendo              = false;
     sePuedeColocar          = false;
     servidorIdMasPronto     = 0;
     cantidadColaMax         = 0;
     bicisEsperandoRuedas[0] = 0; bicisEsperandoRuedas[1] = 0;
     cola = new List <uint>();
     biciletasTerminadas = 0;
 }
Пример #6
0
 public static void Actualizar()
 {
     ColocadorDeRueda1.Actualizar();
     ColocadorDeRueda2.Actualizar();
 }