public void Adivinar() { NumeroAdivinadoPorLaCompu = null; if (reglasDeLaCompu.Count == 0) { NumeroAdivinadoPorLaCompu = GeneradorDeNumero.GenerarNumeroAlAzar(); CantidadDeOpciones = 120960; //10.9.8.7 4.3.2 } else { var nums = new List<GeneradorDeNumero>(); foreach (var regla in reglasDeLaCompu) { var numeros = regla.Generar(); nums = nums.Count == 0 ? new List<GeneradorDeNumero>(numeros) : Unificar(nums, numeros); } if (nums.Count > 0) { CantidadDeOpciones = CalcularOpciones(nums); var numerosNoPermitidos = reglasDeLaCompu.Select(r => r.ConvertirEnGeneradorDeNumero); GeneradorDeNumero num = null; foreach (var n in nums) { var numerosPosibles = n.ObtenerPosibles(numerosNoPermitidos); if (numerosPosibles.Count > 0) { num = numerosPosibles.First(); break; } } NumeroAdivinadoPorLaCompu = num == null ? null : new Numero(num); } } }
public static double Operar(Numero n1, Numero n2, string operador) { double resultado = 0; switch (operador) { case "+": resultado = n1.GetNumero() + n2.GetNumero(); break; case "-": resultado = n1.GetNumero() - n2.GetNumero(); break; case "*": resultado = n1.GetNumero() * n2.GetNumero(); break; case "/": resultado = n1.GetNumero() / n2.GetNumero(); break; } return(resultado); }
public void GenerarNumeroAAdivinar() { NumeroAAdivinarPorElJugador = GeneradorDeNumero.GenerarNumeroAlAzar(); }
public Regla AgregarRegla(Numero n, int bien, int regular) { var regla = new Regla(n, bien, regular); reglasDeLaCompu.Add(regla); return regla; }
public void SetNumero(string cadena) { this._numero = Numero.ValidarNumero(cadena); }
public void GenerarNumeroAAdivinar() { NumeroAAdivinarPorElJugador = GeneradorDeNumero.GenerarNumeroAlAzar(); }
public Regla(Numero numero, int bien, int regular) : base(numero, bien, regular) { }
public bool Equals(Numero other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return other.n0 == num[0] && other.n1 == num[1] && other.n2 == num[2] && other.n3 == num[3]; }
/// <summary> /// Recibe un string referente al objeto numero /// </summary> /// <param name="numero">string para validar</param> private void setNumero(string numero) { this._numero = Numero.validarNumero(numero); }
public Regla(Numero numero, int bien, int regular) : base(numero, bien, regular) { }