Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        //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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 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();
 }
Ejemplo n.º 6
0
        // 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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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();
        }