Example #1
0
        protected void ErrorHumano()
        {
            int     ind2;
            string  cadena;
            Boolean vale;

            Hide();
            cadena = PedirCadena();
            if (cadena == "")
            {
                FMaster.Errores(cadena);
                nivel = -4;
            }
            else
            {
                vale = ComprobarPistas(cadena, out ind2);
                if (vale)
                {
                    FMaster.NoLogrado(cadena);
                    nivel = -3;
                }
                else
                {
                    cadena = mpis[ind2].Cadena + " " + mpis[ind2].Tocados + "T " + mpis[ind2].Situados + "S";
                    FMaster.Errores(cadena);
                    nivel = -4;
                }
            }
        }
Example #2
0
        void Jugar(Modos modo)
        {
            Hide();
            if (modo == Modos.SOLO)
            {
                FMaster fjugar = new FMaster();

                fjugar.InicializarNivel(MIN_NIV + nivel);
                fjugar.ShowDialog();
                nivel = fjugar.Nivel;
            }
            else if (modo == Modos.MOD)
            {
                FModX fmaq = new FModX();

                fmaq.InicializarNivel(MIN_NIV + nivel);
                fmaq.ShowDialog();
                nivel = fmaq.Nivel;
            }
            if (nivel == -1)
            {
                Close();
            }
            else
            {
                Show();
            }
        }
Example #3
0
        protected void EliminarPos(int indice)
        {
            int ind1, toc, sit;

            for (ind1 = 0; ind1 < tope; ++ind1)
            {
                if (mpos[ind1].pos)
                {
                    FMaster.TocaSita(mpis[indice].Cadena, mpos[ind1].Cadena, out toc, out sit);
                    mpos[ind1].pos = ((mpis[indice].Tocados == toc) && (mpis[indice].Situados == sit));
                }
            }
        }
Example #4
0
        protected Boolean ComprobarPistas(string cadena, out int indice)
        {
            Boolean salida = true;
            int     toc, sit;

            for (indice = 0; indice < 3 * nivel; ++indice)
            {
                FMaster.TocaSita(cadena, mpis[indice].Cadena, out toc, out sit);
                if ((toc != mpis[indice].Tocados) || (sit != mpis[indice].Situados))
                {
                    salida = false;
                    break;
                }
            }

            return(salida);
        }
Example #5
0
        protected void CrearMPos()
        {
            int ind1;

            //MPosibles nexo = new MPosibles(nivel);

            mpos = new MPosibles[tope];
            for (ind1 = 0; ind1 < tope; ++ind1)
            {
                mpos[ind1] = new MPosibles(nivel);
            }
            for (ind1 = 0; ind1 < tope; ++ind1)
            {
                mpos[ind1].PCadena(ind1);
                mpos[ind1].pos = FMaster.Validar(mpos[ind1].Cadena, nivel);
            }
        }
Example #6
0
        private void button1_Click(object sender, EventArgs e)
        {
            int ind1, dato;

            numericUpDown1.Focus();
            if (numericUpDown1.Value + numericUpDown2.Value > nivel)
            {
                label7.Text = "Error HUMANO: " + numericUpDown1.Value + "T y " + numericUpDown2.Value + "S.";
            }
            else
            {
                ind1 = 3 * nivel - numInt;
                CrearPista();
                if (numericUpDown2.Value == nivel)
                {
                    Hide();
                    FMaster.Logrado();
                    nivel = -2;

                    return;
                }
                if (numInt == 0)
                {
                    ErrorHumano();

                    return;
                }
                EliminarPos(ind1);
                label7.Text = "Correcto ... De momento.";
                dato        = BuscarPos();
                label6.Text = "Quedan " + numInt + " intentos.";
                if (dato < 0)
                {
                    ErrorHumano();

                    return;
                }
                else
                {
                    label2.Text = mpos[dato].Cadena;
                }
            }
            numericUpDown1.Value = numericUpDown2.Value = 0;
        }
Example #7
0
        protected int BuscarPos()
        {
            int    ind1, salida = -1, inicio;
            string cadena = FMaster.CrearMeta(nivel);

            inicio = int.Parse(cadena);
            for (ind1 = 0; ind1 < tope; ++ind1)
            {
                if (mpos[inicio].pos)
                {
                    salida = inicio;
                    break;
                }
                ++inicio;
                inicio %= tope;
            }

            return(salida);
        }
Example #8
0
        private void button1_Click(object sender, EventArgs e)
        {
            int     indice;
            Boolean valida;
            string  entrada;

            cadena = entrada = "";
            for (indice = 0; indice < nivel; ++indice)
            {
                entrada += numbot[indice].Value.ToString();
            }
            valida = FMaster.Validar(entrada, nivel);
            if (!valida)
            {
                label2.Text = entrada + " Cadena Incorrecta.";
            }
            else
            {
                cadena = entrada;
                Hide();
            }
        }