public object Clone()
        {
            Bolillero clon = new Bolillero();

            clon.bolillasAdentro = new List <int>(this.bolillasAdentro);
            clon.bolillasAfuera  = new List <int>(this.bolillasAfuera);

            return(clon);
        }
Beispiel #2
0
        public void simularConHilos(int cantidadHilos)
        {
            List <Task <long> > hilos = new List <Task <long> >();
            //List<Bolillero> bolillero = new List<Bolillero>();

            long cantPorHilo = CantidadSimulaciones / cantidadHilos;

            for (int i = 0; i < cantidadHilos; i++)
            {
                Bolillero   bolilleroClon = (Bolillero)Bolillero.Clone();
                Task <long> tarea         = new Task <long>(() => bolilleroClon.jugar(jugada, CantidadSimulaciones));
                hilos.Add(tarea);
            }

            hilos.ForEach(hilo => hilo.Start());
            while (!hilos.TrueForAll(hilo => hilo.IsCompleted))
            {
                ;
            }

            this.CantidadAciertos = 0;
            hilos.ForEach(hilo => CantidadAciertos += hilo.Result);
        }
Beispiel #3
0
 public void simularSinHilos()
 {
     CantidadAciertos = Bolillero.jugar(jugada, CantidadSimulaciones);
 }