Exemple #1
0
        public int JugarNVeces(List <int> jugadas, int cantVeces, Bolillero bolillero)
        {
            int cantGanados = 0;

            for (int i = 0; i < cantVeces; i++)
            {
                if (this.Jugar(jugadas) == true)
                {
                    cantGanados++;
                }
            }
            return(cantGanados);
        }
Exemple #2
0
        public int simularConHilos(Bolillero bolillero, List <int> jugadas, int CanStimulación, int canHilos, int cantVeces)
        {
            var vectorTarea = new Task <int> [canHilos];
            int resto       = cantVeces % canHilos;

            for (int i = 0; i < canHilos; i++)
            {
                Bolillero clon = (Bolillero)bolillero.Clone();
                vectorTarea[i] = Task.Run(() => JugarNVeces(jugadas, cantVeces / canHilos, clon));
            }
            Task.WaitAll(vectorTarea);
            Bolillero clon1 = (Bolillero)bolillero.Clone();

            vectorTarea[0] = Task.Run(() => JugarNVeces(jugadas, cantVeces / canHilos + resto, clon1));
            return(vectorTarea.Sum(T => T.Result));
        }
Exemple #3
0
 private Bolillero(Bolillero original)
 {
     bolillasAdentro = new List <int>(original.bolillasAdentro);
     bolillasAfuera  = new List <int>(original.bolillasAfuera);
 }
Exemple #4
0
 public int simularSinHilos(Bolillero bolillero, List <int> jugadas, int CantSimulación, int cantVeces)
 {
     return(JugarNVeces(jugadas, cantVeces, bolillero));
 }