예제 #1
0
        private void szinKivalasztas(Szin szin)
        {
            if (probalkozasok.Count == 0)
            {
                probalkozasok.Add(new List <Szin>());
            }
            int         sorozatSz           = probalkozasok.Count - 1;
            List <Szin> aktualisProbalkozas = probalkozasok[sorozatSz];

            if (aktualisProbalkozas.Count < kodHossz && !aktualisProbalkozas.Contains(szin))
            {
                aktualisProbalkozas.Add(szin);
                PictureBox golyo = new PictureBox()
                {
                    Image = szin.kep, Width = 50, Height = 50, SizeMode = PictureBoxSizeMode.Zoom
                };
                tLP_Tabla.Controls.Add(golyo);
                if (aktualisProbalkozas.Count == kodHossz)
                {
                    btnTorles.Enabled = false;
                    ertekeles();
                }
                else
                {
                    btnTorles.Enabled = true;
                }
            }
        }
예제 #2
0
        private void szinTablazat()
        {
            mutatottSzinek = szinek.Count(e => !e.isElrejtett);
            tLP_szinek.SuspendLayout();
            tLP_szinek.Controls.Clear();
            if (mutatottSzinek != 0)
            {
                float magassag = (float)Math.Floor((double)tLP_szinek.Height / mutatottSzinek);
                tLP_szinek.RowStyles.Clear();
                int megjCounter = 0;
                for (int i = 0; i < szinek.Count; i++)
                {
                    Szin szin = szinek[i];
                    if (!szin.isElrejtett)
                    {
                        tLP_szinek.RowCount = tLP_szinek.RowCount + 1;
                        tLP_szinek.RowStyles.Add(new RowStyle(SizeType.Absolute, magassag));
                        PictureBox kep = new PictureBox()
                        {
                            Image = szin.kep, SizeMode = PictureBoxSizeMode.Zoom, Anchor = AnchorStyles.None
                        };
                        kep.Click += (object sender, EventArgs args) => szinKivalasztas(szin);
                        tLP_szinek.Controls.Add(kep, 0, megjCounter);
                        tLP_szinek.Controls.Add(new Label()
                        {
                            Text = szin.nev, Anchor = AnchorStyles.None, TextAlign = ContentAlignment.MiddleCenter
                        }, 1, megjCounter);
                        tLP_szinek.Controls.Add(new Label()
                        {
                            Text = szin.billentyuKod.ToString(), Anchor = AnchorStyles.None, TextAlign = ContentAlignment.MiddleCenter
                        }, 2, megjCounter);
                        CheckBox checkBox = new CheckBox()
                        {
                            Checked = true, Anchor = AnchorStyles.None, CheckAlign = ContentAlignment.MiddleCenter
                        };
                        checkBox.Enabled = mutatottSzinek > kodHossz;
                        checkBox.Width   = 50;
                        int index = i;
                        checkBox.CheckedChanged += (object sender, EventArgs args) => handleElrejtes(index);
                        tLP_szinek.Controls.Add(checkBox, 3, megjCounter);
                        megjCounter++;
                    }
                }
            }
            int rejtettDb = szinek.Count - mutatottSzinek;

            lbRejtett.Text = $"Elrejtett színek száma: {rejtettDb} db";
            tLP_szinek.ResumeLayout();
        }
예제 #3
0
        private void Mastermind_KeyPress(object sender, KeyPressEventArgs e)
        {
            char lenyomottKarakter = e.KeyChar;

            if (lenyomottKarakter == (char)8)
            {
                handleTorles();
            }
            else
            {
                Szin kivSzin = szinek.Find(element => element.billentyuKod == lenyomottKarakter);
                if (kivSzin != null && !kivSzin.isElrejtett)
                {
                    szinKivalasztas(kivSzin);
                }
            }
        }