Ir ao conteúdo

Posts recomendados

Postado

Opa pessoal, tudo bem, então recebi um trabalho na faculdade no qual eu preciso desenvolver um jogo da forca, foi simples porém estou com dificuldades de fazer o meu layout exibir as letras erradas, podem me ajudar por favor?

 

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Jogo_da_Forca__Final_{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        bool jogar;        PictureBox[] Pcb;        string Palavra;        byte Erro = 1;        private void BtnJogar_Click(object sender, EventArgs e)        {            Pcb = new PictureBox[TxtPass.Text.Length];            Palavra = TxtPass.Text.ToLower();            for (int cont = 0; cont < TxtPass.Text.Length; cont++)            {                Pcb[cont] = new PictureBox();                Pcb[cont].Width = 50;                Pcb[cont].Height = 50;                Pcb[cont].Paint += new PaintEventHandler(Pintar);                FPanel.Controls.Add(Pcb[cont]);            }            BtnJogar.Enabled = false;            TxtPass.Enabled = false;            jogar = true;        }        private void Pintar(object sender, PaintEventArgs e)        {            e.Graphics.DrawLine(new Pen(Color.Black, 3), 0, 45, 45, 45);        }        protected override bool ProcessCmdKey(ref Message msg, Keys KeyData)        {            if (!jogar) { return false; }            if (TxtPass.Text.ToLower().Contains(KeyData.ToString().ToLower()))            { Acertou(KeyData.ToString()); }            else            { Errou(); }            return base.ProcessCmdKey(ref msg, KeyData);        }        private void Reiniciar()        {            BtnJogar.Enabled = true;            TxtPass.Enabled = true;            jogar = false;            TxtPass.Text = "";            PcbPrincipal.Image = null;            Erro = 0;            FPanel.Controls.Clear();        }        private void Errou()        {            switch (Erro)            {                case 1:                    PcbPrincipal.Image = Properties.Resources._1;                                        break;                case 2:                    PcbPrincipal.Image = Properties.Resources._2;                    break;                case 3:                    PcbPrincipal.Image = Properties.Resources._3;                    break;                case 4:                    PcbPrincipal.Image = Properties.Resources._4;                    break;                case 5:                    PcbPrincipal.Image = Properties.Resources._5;                    break;                case 6:                    PcbPrincipal.Image = Properties.Resources._6;                    break;                case 7:                    PcbPrincipal.Image = Properties.Resources._7;                    MessageBox.Show("Você perdeu a palavra era \n\n" + TxtPass.Text);                    Reiniciar();                    break;            }            Erro++;        }        private void Acertou(string key)        {            for (int cont = 0; cont < TxtPass.Text.Length; cont++)            {                if (TxtPass.Text[cont].ToString().ToLower() == key.ToLower())                {                    Graphics Gra = Pcb[cont].CreateGraphics();                    Gra.DrawString(key, new Font("Tahoma", 25), new SolidBrush(Color.CornflowerBlue), 0, 0);                    Palavra = Palavra.Replace(key.ToLower(), " ");                }            }            if (Palavra.Trim() == "")            {                MessageBox.Show("Parabéns você venceu! \n\n" + TxtPass.Text);                Reiniciar();            }        }        #region Getting Alphabets        private void button1_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("Q");            }            else            {                SendKeys.Send("q");            }        }        private void button2_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("W");            }            else            {                SendKeys.Send("w");            }        }        private void button3_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("E");            }            else            {                SendKeys.Send("e");            }        }        private void button4_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("R");            }            else            {                SendKeys.Send("r");            }        }        private void button5_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("T");            }            else            {                SendKeys.Send("t");            }        }        private void button6_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("Y");            }            else            {                SendKeys.Send("y");            }        }        private void button7_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("U");            }            else            {                SendKeys.Send("u");            }        }        private void button8_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("I");            }            else            {                SendKeys.Send("i");            }        }        private void button9_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("O");            }            else            {                SendKeys.Send("o");            }        }        private void button10_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("P");            }            else            {                SendKeys.Send("p");            }        }        private void button11_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("A");            }            else            {                SendKeys.Send("a");            }        }        private void button12_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("S");            }            else            {                SendKeys.Send("s");            }        }        private void button13_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("D");            }            else            {                SendKeys.Send("d");            }        }        private void button14_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("F");            }            else            {                SendKeys.Send("f");            }        }        private void button15_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("G");            }            else            {                SendKeys.Send("g");            }        }        private void button16_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("H");            }            else            {                SendKeys.Send("h");            }        }        private void button17_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("J");            }            else            {                SendKeys.Send("j");            }        }        private void button18_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("K");            }            else            {                SendKeys.Send("k");            }        }        private void button19_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("L");            }            else            {                SendKeys.Send("l");            }        }        private void button21_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("Z");            }            else            {                SendKeys.Send("z");            }        }        private void button28_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("X");            }            else            {                SendKeys.Send("x");            }        }        private void button22_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("C");            }            else            {                SendKeys.Send("c");            }        }        private void button23_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("V");            }            else            {                SendKeys.Send("v");            }        }        private void button24_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("B");            }            else            {                SendKeys.Send("b");            }        }        private void button25_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("N");            }            else            {                SendKeys.Send("n");            }        }        private void button26_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("M");            }            else            {                SendKeys.Send("m");            }        }        private void button20_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("Ç");            }            else            {                SendKeys.Send("ç");            }        }        private void button27_Click(object sender, EventArgs e)        {            if (checkBox1.Checked)            {                SendKeys.Send("P");            }            else            {                SendKeys.Send("p");            }        #endregion        }    }}
 
 
Meu desing é 
 
Um botão nomeado de "BtnJogar"
Um Textbox nomeado de "TxtPass"
Um Picturebox nomeado de "PcbPrincipal"
Um Flowlayoutpanel nomeado de FPanel
Os botões do meu teclado virtual e por fim e o problema certo 
Um outro Flowlayoutpanel que eu gostaria que exibisse as letras erradas a medida que vou digitando, nomeado "Fpanel_Erro"
 
Se puderem me ajudar fico grato, obrigado desde de já
Postado

Não deu pra enteder:

 

      protected override bool ProcessCmdKey(ref Message msg, Keys KeyData)
        {
            if (!jogar) { return false; }


            if (TxtPass.Text.ToLower().Contains(KeyData.ToString().ToLower()))
            { Acertou(KeyData.ToString()); }
            else
            { Errou(); }


            return base.ProcessCmdKey(ref msg, KeyData);
        }

 

Talvez este seja o problema, está recursivo, chama ele mesmo infinitas vezes e sem saída. quando exibe a MessageBox o programa para e atualiza o form

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!