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); }
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)); }
private Bolillero(Bolillero original) { bolillasAdentro = new List <int>(original.bolillasAdentro); bolillasAfuera = new List <int>(original.bolillasAfuera); }
public int simularSinHilos(Bolillero bolillero, List <int> jugadas, int CantSimulación, int cantVeces) { return(JugarNVeces(jugadas, cantVeces, bolillero)); }