private void GenerarNumeros() { LimpiarTablas(); if (radioButton3.Checked) { _generadorAleatorio = new AleatorioSistema(); } else { var a = int.Parse(txt_aA.Text); var m = int.Parse(txt_mA.Text); var semilla = double.Parse(txt_semillaA.Text); //Congruencial Multiplicativo : Xn = (A * Xn-1 ) Mod M if (radioButton2.Checked) { _generadorAleatorio = new CongruencialMultiplicativo(semilla, a, m); } //Congruencial Mixto : Xn = (A * Xn-1 + C ) Mod M else if (radioButton1.Checked) { var c = int.Parse(txt_cA.Text); _generadorAleatorio = new CongruencialMixto(semilla, a, c, m); } } generarDistribucion(); }
public DistribucionExponencialNegativa(double lambda, IGeneradores generador) { if (lambda <= 0) { throw new NotSupportedException("El valor del Lambda debe ser un número positivo!"); } _lambda = lambda; _generator = generador; }
public DistribucionExponencialNegativa(double lambda) { if (lambda <= 0) { throw new NotSupportedException("El valor del Lambda debe ser un número positivo!"); } _lambda = lambda; _generator = new AleatorioSistema(); }
public void cargar_barcos(int jugador) { int _barcos = 1; int _longitud = 0; Flota _flotaCargada; if (jugador == 1) { flotas_estrategia1 = new List <Flota>(); tablero1 = new int[64, 64]; } else { flotas_estrategia2 = new List <Flota>(); tablero2 = new int[64, 64]; } while (_barcos <= cant_barcosxtipo) { _longitud = long_max_barco; while (_longitud >= long_min_barco) { List <Coordenada> coordenadas = posicionarFlota(_longitud, jugador); string nombreflota = obtenerNombre(_longitud); Color colorflota = obtenerColor(_longitud); _flotaCargada = new Flota(_longitud, nombreflota, coordenadas, colorflota); if (jugador == 1) { flotas_estrategia1.Add(_flotaCargada); } else { flotas_estrategia2.Add(_flotaCargada); } _longitud--; } _barcos++; } if (jugador == 1) { generadorEstrategia1 = new CongruencialMixto(seed, a1, c1, m1); //generadorEstrategia1 = new AleatorioSistema(); distrEstrategias = new DistribucionUniforme(0, 63, generadorEstrategia1); //distrEstrategias = new DistribucionNormal(32, 16, generadorEstrategia1); //distrEstrategias = new DistribucionExponencialNegativa((0.03125), generadorEstrategia1); estrategia_j1 = new EstrategiaEquipo1(flotas_estrategia1, distrEstrategias); } else { generadorEstrategia2 = new CongruencialMixto(seed, a2, c2, m2); //generadorEstrategia2 = new AleatorioSistema(); distrEstrategias = new DistribucionUniforme(0, 63, generadorEstrategia2); //distrEstrategias = new DistribucionNormal(32, 16, generadorEstrategia2); //distrEstrategias = new DistribucionExponencialNegativa((0.03125), generadorEstrategia2); estrategia_j2 = new EstrategiaEquipo2(flotas_estrategia2, distrEstrategias); } }
public DistribucionUniforme(double a, double b, IGeneradores generador) { if (b <= a) { throw new NotSupportedException("El valor de A debe ser menor que B!"); } _a = a; _b = b; _generator = generador; }
public DistribucionNormal(double media, double varianza, IGeneradores generador) { if (varianza < 0) { throw new NotSupportedException("El valor de la varianza no puede ser negativo!"); } _media = media; _varianza = varianza; _generator = generador; }
public DistribucionNormal(double media, double varianza) { if (varianza < 0) { throw new NotSupportedException("El valor de la varianza no puede ser negativo!"); } _media = media; _varianza = varianza; _generator = new AleatorioSistema(); }
public DistribucionUniforme(double a, double b) { if (b <= a) { throw new NotSupportedException("El valor de A debe ser menor que B!"); } _a = a; _b = b; _generator = new AleatorioSistema(); }
public int obtenerSentido() { int retorno = 0; if (generadorSentidos == null) { generadorSentidos = new CongruencialMixto(seed, a, c, m); distribucionSentidos = new DistribucionUniforme(1, 4, generadorSentidos); } retorno = Convert.ToInt32(distribucionSentidos.generar()); return(retorno); }
// para posicionar el barco. public Coordenada obtenerCoordenada() { if (generadorCoordenadas == null) { generadorCoordenadas = new CongruencialMixto(seed, a, c, m); distribucionCoordenadas = new DistribucionUniforme(0, 63, generadorCoordenadas); } int _x = (int)Math.Round(distribucionCoordenadas.generar(), 0); int _y = (int)Math.Round(distribucionCoordenadas.generar(), 0); Coordenada coord = new Coordenada(_x, _y); return(coord); }
public void asignarGenerador(IGeneradores generador) { _generator = generador; }