private VectorModel SetCiclo(List <KeyValuePair <string, int> > loop, VectorModel vector) { if (Valor.iter) { vector = SetPosicionIndex(loop, vector, 1); } else if (!Valor.iter) { vector = SetPosicionIndex(loop, vector, 4); } return(vector); }
private VectorModel SetPosicionCero(List <KeyValuePair <string, int> > loop, VectorModel vector) { vector.CantidadReplica = loop[0].Value; if (loop[0].Key == "Negro") { vector.CantidadNegroReplica = vector.CantidadNegroReplica + loop[0].Value; } else if (loop[0].Key == "Rojo") { vector.CantidadRojoReplica = vector.CantidadRojoReplica + loop[0].Value; } return(vector); }
//Establecer Vector -> ******************************************************************************************* #region EstablecerCicloSemiCiclo public VectorModel Set3erVector(List <KeyValuePair <string, int> > loop, VectorModel vector) { Valor.inicioEstablecido = true; vector = SetPosicionCero(loop, vector); vector.ExisteCiclo = ExisteCiclo(loop); if (vector.ExisteCiclo) { vector = SetSemiCiclo(loop, vector); vector = SetCiclo(loop, vector); vector.Magico = vector.MagicoCiclo + vector.MagicoSemiCiclo; } else if (!vector.ExisteCiclo) { vector = SetSemiCiclo(loop, vector); vector.Magico = vector.MagicoSemiCiclo; } return(vector); }
private VectorModel SetSemiCiclo(List <KeyValuePair <string, int> > loop, VectorModel vector) { int n = 0; foreach (KeyValuePair <string, int> item in loop) { if (n >= 2 && n <= 3) { if (item.Key == "Negro") { vector.CantidadNegroSemiCiclo = vector.CantidadNegroSemiCiclo + item.Value; } else if (item.Key == "Rojo") { vector.CantidadRojoSemiCiclo = vector.CantidadRojoSemiCiclo + item.Value; } } n++; } vector.MagicoSemiCiclo = vector.CantidadNegroSemiCiclo + vector.CantidadRojoSemiCiclo; return(vector); }
private void Limpiar_Click(object sender, EventArgs e) { this.Vector = new VectorModel(); loop.Clear(); listresultado.Clear(); listresultado2.Clear(); listBox1.Items.Clear(); listBox2.Items.Clear(); ListNegro.Items.Clear(); ListRojo.Items.Clear(); Valor.contador = 0; Valor.inicioEstablecido = false; Valor.contConsecutivoNegro = 0; Valor.contConsecutivoRojo = 0; Valor.anteriorNegro = false; Valor.anteriorRojo = false; Valor.iter = false; //**************************************************** pronostico.BackColor = Color.SeaGreen; pronostico.Text = "Esperando Pronostico"; txtResultado.Focus(); }
// Traza vector -> ********************************************************************************************** #region TrazaVector public string Traza3erVector(string color, VectorModel vector, List <KeyValuePair <string, int> > loop) { string sabor = string.Empty; vector.CantidadReplica++; //*************************************************** if (vector.CantidadReplica == vector.Magico) { Valor.inicioEstablecido = false; Valor.cantidadParedMayor = 0; if (Valor.iter) { Valor.iter = false; } return(GetUltimoPronostico()); } //*************************************************** if (vector.CantidadReplica == vector.MagicoSemiCiclo) { return(GetUltimoPronostico()); } //*************************************************** if (Valor.cantidadParedMayor == 0) { GetParedMayor(2, 3, loop); } if (vector.ExisteCiclo) { if (vector.CantidadReplica < vector.MagicoSemiCiclo) { if (vector.CantidadReplica < Valor.cantidadParedMayor) { return(Valor.paredActiva); } else if (vector.CantidadReplica == Valor.cantidadParedMayor) { return(GetUltimoPronostico()); } } //else if (vector.CantidadReplica < vector.MagicoCiclo) else if (vector.CantidadReplica < vector.Magico) { return(Valor.paredActiva); } } else if (!vector.ExisteCiclo) { if (vector.CantidadReplica < Valor.cantidadParedMayor) { return(Valor.paredActiva); } else if (Valor.cantidadParedMayor == vector.CantidadReplica) { return(GetUltimoPronostico()); } } return(sabor); }
private VectorModel SetPosicionIndex(List <KeyValuePair <string, int> > loop, VectorModel vector, int index) { vector.MagicoCiclo = loop[index].Value; if (loop[index].Key == "Negro") { vector.CantidadNegroCiclo = loop[index].Value; } else if (loop[index].Key == "Rojo") { vector.CantidadRojoCiclo = loop[index].Value; } return(vector); }
private void AddNumber_Click(object sender, EventArgs e) { if (txtResultado.Text == string.Empty) { return; } //********************************************************************************* int n = Convert.ToInt32(txtResultado.Text); string color = Funcion.AddResultadoLista(n, this.listBox1, this.listBox2, this.listresultado); //********************************************************************************** Funcion.SetListBoxView(this.ListNegro, this.ListRojo, this.listresultado2, this.listBox1, this.listBox2, this.listresultado); //********************************************************************************** int startIndex = 0; int conteo = 0; loop.Clear(); while (startIndex < listresultado2.Count) { conteo = Funcion.EstablecerPared(startIndex, this.listresultado2, this.loop); startIndex = startIndex + conteo; } //********************************************************************************** txtResultado.Text = string.Empty; string setColor = Funcion.EstablecerValoresSecuencia(color, Valor.contador); if (setColor != string.Empty) { Funcion.SetColor(setColor, this.pronostico); Valor.contador++; txtResultado.Focus(); return; } //*********************************************************************************** if (loop.Count == 4) { Valor.iter = true; } else { Valor.iter = false; } //*********************************************************************************** if (loop.Count >= 4) { setColor = Funcion.EstablecerValoresAlternado(loop); if (setColor != string.Empty) { Funcion.SetColor(setColor, this.pronostico); Valor.contador++; txtResultado.Focus(); return; } } //*********************************************************************************** if (Valor.inicioEstablecido == false && loop.Count >= 4) { this.Vector = new VectorModel(); this.Vector = Funcion.Set3erVector(loop, this.Vector); Funcion.SetColor(Funcion.SetParedActiva(loop, 0), this.pronostico); Valor.contador++; txtResultado.Focus(); return; } else if (Valor.inicioEstablecido == true) { Funcion.SetColor(Funcion.Traza3erVector(color, this.Vector, this.loop), this.pronostico); } //*********************************************************************************** Valor.contador++; txtResultado.Focus(); }