namespace 猜数字窗口
{
    public partial class Form1 : Form
    {
        Random random = new Random();
        int[] systemNumber = new int[4];
        int count = 7;
        bool right = false;        public Form1()
        {
            InitializeComponent();
        }
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
                e.Handled = true;
        }        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
                e.Handled = true;
        }        private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
                e.Handled = true;
        }        private void textBox4_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
                e.Handled = true;
        }        private void Form1_Load(object sender, EventArgs e)
        {
            count = 7;
            List<int> list = new List<int>();
            for (int i = 0; i < 10; i++)
            {
                list.Add(i);
            }            int first = random.Next(9) + 1;// 首位不为0
            int second = random.Next(9);// 要求不重复 所以依次递减 还剩9个
            int third = random.Next(8);
            int fourth = random.Next(7);
             //系统生成了随机四位数 number            int number = list[first] * 1000;
            list.RemoveAt(first);
            number += list[second] * 100;
            list.RemoveAt(second);
            number += list[third] * 10;
            list.RemoveAt(third);
            number += list[fourth];
            list.RemoveAt(fourth);
            string systemNumber = number.ToString();// 系统生成了随机四位数 number
            guess2.Text = systemNumber;
        }        private void guess_Click(object sender, EventArgs e)
        {
            int usernumber1 = 0;
            int usernumber2 = 0;
            int usernumber3 = 0;
            int usernumber4 = 0;
            if (right)
            {
                MessageBox.Show("你已经猜对了,请重新开始!");
                return;
            }
            if (count == 0)
            {
                MessageBox.Show("对不起,次数已用尽,请重新开始!");
                return;
            }
            if (int.TryParse(textBox1.Text, out usernumber1) == false)
            {
                MessageBox.Show("请输入数字");
                return;
            }
            if (int.TryParse(textBox2.Text, out usernumber2) == false)
            {
                MessageBox.Show("请输入数字");
                return;
            }
            if (int.TryParse(textBox3.Text, out usernumber3) == false)
            {
                MessageBox.Show("请输入数字");
                return;
            }
            if (int.TryParse(textBox4.Text, out usernumber4) == false)
            {
                MessageBox.Show("请输入数字");
                return;
            }           
            int a = 0;//猜对位置
            int b = 0;//猜对数字
            if (a == 4)
            {
                result8.Text="恭喜你猜对了!";
                right = true;
            }        
            int[] guessNumber = new int[4] { usernumber1, usernumber2, usernumber3, usernumber4 };
            for (int i = 0; i < 4; i++)
            {
                // 含数字的情况
                if (systemNumber.Contains(guessNumber[i]))
                {
                    a++;
                }
                // 恰等于的情况
                if (systemNumber[i].Equals(guessNumber[i]))
                {
                    b++;
                }
            }
                if (a == 4)
                {
                    MessageBox.Show("恭喜你猜对了!");
                }
                count--;
                
                guess1.Text = textBox1.Text + textBox2.Text + textBox3.Text + textBox4.Text;
                result1.Text = a + "A" + b + "B";
        }
    }}

解决方案 »

  1.   

    A和B的值不对...无论输入的数字是什么..A和B的值都不变..
      

  2.   

    做这么一个游戏:
    猜数字游戏:由计算机生成一个4位数,每位数字各不相同(如:1234。1123则是错误的),用户输入数字进行猜测,计算机对比正确答案。如果用户猜中4位数中包含的数字,但位置不对,则B计数器累加一;如果用户猜中4位数中包含的数字,且位置正确,否则A计数器累加一。最后,计算器显示A、B计数器的统计结果。不断进行循环,直到用户猜测出正确结果,或者用户猜测的次数超过7次,则中断循环,显示正确结果。
    把这个游戏做成windows窗体程序...