3. 辨認數字系統

namespace Q3
{
    public partial class Form1 : Form
    {
        Panel[] all;
        Dictionary<string, int> mapping = new Dictionary<string, int>();
        public Form1()
        {
            InitializeComponent();
            all = new[] { a1, a2, a3, a4, a5, a6, a7 };
            foreach (var item in all)
            {
                item.BackColor = Color.White;
                item.Click += panelClick;
            }

            mapping["1111110"] = 0;
            mapping["0110000"] = 1;
            mapping["0000110"] = 1;
            mapping["1101101"] = 2;
            mapping["1111001"] = 3;
            mapping["0110011"] = 4;
            mapping["1011011"] = 5;
            mapping["1011111"] = 6;
            mapping["0011111"] = 6;
            mapping["1110000"] = 7;
            mapping["1111111"] = 8;
            mapping["1111011"] = 9;
            mapping["1110011"] = 9;
        }


        private void button3_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void panelClick(object sender, EventArgs e)
        {
            ((Panel)sender).BackColor = ((Panel)sender).BackColor == Color.White ? Color.Black : Color.White;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var rand = new Random();
            foreach (var item in all)
            {
                item.BackColor = rand.Next(0, 2) == 1 ? Color.Black : Color.White;
            }
            button2_Click(null, null);
        }



        private void button2_Click(object sender, EventArgs e)
        {
            string n = "";
            for (int i = 0; i < all.Length; i++)
            {
                n += all[i].BackColor == Color.Black ? 1 : 0;
            }
            nnn.Text = mapping.ContainsKey(n) ? mapping[n].ToString() : "非數字";
        }
    }
}

Last updated