private void btnClick(object sender, EventArgs e) // ao clicar qualquer botão do teclado exibido, esse evento será chamado { try { Button botao = (Button)sender; // o objeto botão será o botão pressionado quaisBotoes[qtosBotoes] = botao; // vetor de botões pressionados para podermos habilitar-los depois qtosBotoes++; botao.Enabled = false; // desabilitamos o botão string letraBotao = botao.Text.ToLower(); // a string letra botao, declarada anteriormente, será o texto do botão pressionado, // ou seja, a letra que o botão representa // como no arquivo texto usamos letras minúsculas, usamos o método ToLower() para transformar o valor do botão para letras minúsculas também int qtsOcorrencias = 0; int[] posicoesNaPalavra = vetor.PosicoesNaPalavra(letraBotao, ref qtsOcorrencias); // vetor que terá as posições de ocorrência da letra if (qtsOcorrencias > 0) // ou seja, se a letra foi encontrada na palvra { qtsPontos += qtsOcorrencias; // somamos um ponto pra cada letra acertada lbPontos.Text = "Pontos:" + qtsPontos.ToString(); // adicionamos os pontos botao.BackColor = Color.Green; // deixamos o botão verde para informar que a letra estava na palavra AdicionarNoDgv(dgvPalavra, posicoesNaPalavra, qtsOcorrencias, letraBotao); //exibimos no datagridview } else // se a letra não for encontrada na palavra, ou seja, se o jogador errou { qtsErros++; // conta-se mais um erro lbErros.Text = "Erros(8): " + qtsErros.ToString(); //marcamos os erros botao.BackColor = Color.Red; // deixamos os botões vermelho para informar que não tinha na palavra ExibirErrosNaForca(qtsErros); // exibimos a imagem com o número do erro correspondente } if (qtsPontos == vetor.QtosCaracteres) // se a pontuação for igual o tamanho da palavra { tmrTempo.Stop(); // paramos o timer tmrTempo.Enabled = false; GameWin(); // o jogador ganha } if (qtsErros == 8) // se o jogador errar oito vezes ele perde { tmrTempo.Stop(); // paramos o timer tmrTempo.Enabled = false; GameOver(); // o jogador perde } } catch { //deixamos o catch vazio para evitar que os clicks abusivos do usuário causem erro no programa } }