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; } } }
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(); } }
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)); } } }
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); }
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); } }
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; }
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); }
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(); } }