public long JugarN(List <byte> jugadas, long cantDeJugadas, Bolillero bolillero)
        {
            long ganadas = 0;

            for (long ind = 0; ind < cantDeJugadas; ind++)
            {
                if (this.Jugar(jugadas))
                {
                    ganadas++;
                }
            }

            return(ganadas);
        }
        public long simularConHilos(List <byte> jugadas, long cantJugar, int cantHilos, Bolillero bolillero)
        {
            var  vectorTerea = new Task <long> [cantHilos];
            long resto       = cantJugar % cantHilos;

            for (int i = 0; i < cantHilos; i++)
            {
                Bolillero clon = (Bolillero)bolillero.Clone();

                vectorTerea[i] = Task.Run(() => JugarN(jugadas, cantJugar / cantHilos, clon));
            }

            for (int ind2 = cantHilos; ind2 >= 1; ind2--)
            {
            }

            Bolillero otroClon = (Bolillero)bolillero.Clone();

            vectorTerea[0] = Task.Run(() => JugarN(jugadas, cantJugar / cantHilos + resto, otroClon));

            Task.WaitAll(vectorTerea);
            return(vectorTerea.Sum(T => T.Result));
        }
 public long simularSinHilos(List <byte> jugadas, long cantDeJugadas, Bolillero bolillero)
 {
     return(JugarN(jugadas, cantDeJugadas, bolillero));
 }
        //public List<long> jugarNveces { get; set; }

        //Task<long>[] tarea = new Task<long>[10];

        public Simulacion(byte inicio, byte fin)
        {
            bolillero = new Bolillero(inicio, fin);
        }