[MOD]: Los códigos deben ir en su respectiva etiqueta.
Hola a todos, basicamente el programa que estoy haciendo es un AHORCADO, mi problema es el siguiente:
En un textbox yo escribo la letra que deseo ingresar para verificar si esta o no en la palabra, el tema es que si la palabra es por ejemplo HIPOPOTAMO, esta tiene 3 "O", y yo obviamente al colocar "O" me escribe solo la primera que encuentra.
la porcion de codigo con mi problema esta aca:
Código (csharp) [Seleccionar]
private void button3_Click(object sender, EventArgs e)
{
letraIngresada = textBoxLetra.Text;
TextBox[] palabraFinal = { textBox1, textBox2, textBox3, textBox4, textBox5, textBox6, textBox7, textBox8, textBox9, textBox10, textBox11 };
if (palabraElegida.IndexOf(letraIngresada)>=0)
{
int x = 0;
x = palabraElegida.IndexOf(letraIngresada);
palabraFinal[x].Text = textBoxLetra.Text;
for (int i = 0; i < palabraFinal.Length; i++)
{
if (palabraFinal[i].Text=="")
{
x++;
x=palabraElegida.IndexOf(letraIngresada,x);
palabraFinal[x].Text = textBoxLetra.Text;
}
}
}
else
{
cont++;
CambiarImagen(cont);
}
}
public partial class Form1 : Form
{
string[] animales = { "rinoceronte", "hipopotamo", "tortuga", "flamenco", "avestruz" };
string[] FruVer = { "zanahoria", "calabacin", "puerro", "remolacha", "aceituna" };
string[] objetos = { "ventilador", "heladera", "modular", "mochila", "camperon" };
string[] paises = { "angola", "australia", "nicaragua", "tanzania", "singapur" };
int bus;
string palabraElegida;
string letraIngresada;
int cont = 0;
public Form1()
{
InitializeComponent();
}
public void Buscar_palabra(string[] vec)
{
Random buscar = new Random();
bus = buscar.Next(5);
palabraElegida = vec[bus];
label_Letra.Text= vec[bus];
}
private void button3_Click(object sender, EventArgs e)
{
letraIngresada = textBoxLetra.Text;
TextBox[] palabraFinal = { textBox1, textBox2, textBox3, textBox4, textBox5, textBox6, textBox7, textBox8, textBox9, textBox10, textBox11 };
if (palabraElegida.IndexOf(letraIngresada)>=0)
{
int x = 0;
x = palabraElegida.IndexOf(letraIngresada);
palabraFinal[x].Text = textBoxLetra.Text;
for (int i = 0; i < palabraFinal.Length; i++)
{
if (palabraFinal[i].Text=="")
{
x++;
x=palabraElegida.IndexOf(letraIngresada,x);
palabraFinal[x].Text = textBoxLetra.Text;
}
}
}
//if (palabraElegida.IndexOf(letraIngresada) != -1)
//{
// for (int i = 0; i < palabraElegida.Length; i++)
// {
// palabraFinal[palabraElegida.IndexOf(letraIngresada)].Text = textBoxLetra.Text;
// palabraFinal[palabraElegida.IndexOf(letraIngresada, palabraElegida.IndexOf(letraIngresada) + 1)].Text = textBoxLetra.Text;
// }
//}
else
{
cont++;
CambiarImagen(cont);
}
}
private void pictureBox1_Click(object sender, EventArgs e)
{
fotoPrincipal.Image = fotoSoga.Image;
label_Letra.Visible = true;
textBoxLetra.Visible = true;
button3.Visible = true;
pictureBox1.Visible = false;
groupBox1.Visible = false;
groupBox2.Visible = true;
if (radioButton1.Checked == true)
{
Buscar_palabra(animales);
}
else if (radioButton2.Checked == true)
{
Buscar_palabra(FruVer);
}
else if (radioButton3.Checked == true)
{
Buscar_palabra(objetos);
}
else if (radioButton4.Checked == true)
{
Buscar_palabra(paises);
}
else MessageBox.Show("Elige una opción por favor.");
if (palabraElegida.Length == 10)
{
textBox11.Visible = false;
}
if (palabraElegida.Length == 9)
{
textBox11.Visible = false;
textBox10.Visible = false;
}
if (palabraElegida.Length == 8)
{
textBox11.Visible = false;
textBox10.Visible = false;
textBox9.Visible = false;
}
if (palabraElegida.Length == 7)
{
textBox11.Visible = false;
textBox10.Visible = false;
textBox9.Visible = false;
textBox8.Visible = false;
}
if (palabraElegida.Length == 6)
{
textBox11.Visible = false;
textBox10.Visible = false;
textBox9.Visible = false;
textBox8.Visible = false;
textBox7.Visible = false;
}
}
public void CambiarImagen(int cont)
{
switch (cont)
{
case 1: fotoPrincipal.Image = fotoCabeza.Image;
break;
case 2: fotoPrincipal.Image = fotoBrazo.Image;
break;
case 3: fotoPrincipal.Image = fotoBrazos2.Image;
break;
case 4: fotoPrincipal.Image = fotoPanza.Image;
break;
case 5: fotoPrincipal.Image = fotoPierna.Image;
break;
case 6: fotoPrincipal.Image = fotoCuerpoEntero.Image;
break;
default:
break;
}
if (cont==6)
{
Form2 frm = new Form2();
frm.Show();
again.Visible = true;
again.BringToFront();
}
}
private void again_Click(object sender, EventArgs e)
{
Application.Restart();
}
}
}