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; } } }
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(); }
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); } } }