Exemplo n.º 1
0
        public long jugarNveces(List <byte> jugadas, long cantJugadas, Bolillero bolillero)
        {
            long cantGanados = 0;

            for (int i = 0; i < cantGanados; i++)
            {
                if (this.Jugar(jugadas, bolillero) == true)
                {
                    cantGanados++;
                }
            }
            return(cantGanados);
        }
Exemplo n.º 2
0
        public bool Jugar(List <byte> jugadas, Bolillero bolillero)
        {
            var comparar = 0;

            bolillero.reingresar();
            foreach (var bolillaJugada in jugadas)
            {
                comparar = bolillero.SacarBolilla();
                if (comparar != bolillaJugada)
                {
                    return(false);
                }
            }
            return(true);
        }
Exemplo n.º 3
0
        public long simularConHilos(List <byte> jugadas, long cantJugadas, Bolillero bolillero, long cantHilos)
        {
            var  vectorTarea = new Task <long> [cantHilos];
            long resto       = cantJugadas % cantHilos;

            for (int i = 0; i < cantHilos; i++)
            {
                Bolillero clon = (Bolillero)bolillero.Clone();
                vectorTarea[i] = Task.Run(() => jugarNveces(jugadas, cantJugadas / cantHilos, clon));
            }
            Bolillero clon1 = (Bolillero)bolillero.Clone();

            vectorTarea[0] = Task.Run(() => jugarNveces(jugadas, cantJugadas / cantHilos + resto, clon1));
            Task.WaitAll(vectorTarea);
            return(vectorTarea.Sum(T => T.Result));
        }
Exemplo n.º 4
0
 private Bolillero(Bolillero original) : this()
 {
     adentro = new List <byte>(original.adentro);
     afuera  = new List <byte>(original.afuera);
 }