private void ObradaSusednogPolja(Int32 Red, Int32 Kolona, Int32 PrethodnaBoja) { if (Red >= 1 && Red <= BrojRedova && Kolona >= 1 && Kolona <= BrojKolona) { Int32 Indeks = (Red - 1) * BrojKolona + Kolona; Polje P = Polja[Indeks]; if (P.Boja == PrethodnaBoja && !P.Reseno) { P.Reseno = true; P.Dugme.Visible = false; P.Dugme.Enabled = false; if (P.Kolona < LevaGranicaProvere) { LevaGranicaProvere = P.Kolona; } if (P.Kolona > DesnaGranicaProvere) { DesnaGranicaProvere = P.Kolona; } RedZaBrisanje.Enqueue(P); BrojPreostalih--; NosecaForma.Text = "KlikMatrica (" + BrojRedova.ToString() + " x " + BrojKolona.ToString() + ") - " + BrojPreostalih.ToString(); } } }
private void ProveraKlika(object sender, EventArgs e) { Panel D = (Panel)sender; String s = D.Name.Substring(5); Int32 indeksPolja = Convert.ToInt32(s); BrisanjeDobrihSuseda(indeksPolja); KonsolidacijaKolona(LevaGranicaProvere, DesnaGranicaProvere); PomeranjePoljaUlevo(); ///* if (!MozeLiSeDaljeIgrati()) { if (BrojPreostalih == 0) { MessageBox.Show("POBEDA!"); } else { String poruka = "Igra je gotova.\r\nPreostali broj polja: " + BrojPreostalih.ToString(); MessageBox.Show(poruka); } } //*/ }
public void NovaMatrica() { Int32 i, j, indeks; for (i = 1; i <= BrojRedova; i++) { for (j = 1; j <= BrojKolona; j++) { indeks = (i - 1) * BrojKolona + j; Polje P = Polja[indeks]; P.Reset(); } } IgraUToku = false; BrojPreostalih = BrojRedova * BrojKolona; NosecaForma.Text = "KlikMatrica (" + BrojRedova.ToString() + " x " + BrojKolona.ToString() + ") - " + BrojPreostalih.ToString(); }
public void InicijalizacijaMatricePolja() { Int32 i, j, X, Y, indeks; String ime = ""; NosecaForma.Controls.Clear(); Dugmad.Clear(); Polja.Clear(); Panel D = new Panel(); PomocnoPolje = new Polje(0, 0, D, GeneratorSlucajnihBrojeva); Dugmad.Add(D); Polja.Add(PomocnoPolje); for (i = 1; i <= BrojRedova; i++) { for (j = 1; j <= BrojKolona; j++) { indeks = (i - 1) * BrojKolona + j; ime = "dugme" + indeks.ToString(); X = GornjiCosakX + (j - 1) * SirinaDugmeta + (j - 2) * HorizontalniRazmak; Y = GornjiCosakY + (i - 1) * VisinaDugmeta + (i - 2) * VertikalniRazmak; NapraviDugme(ime, X, Y, SirinaDugmeta, VisinaDugmeta); Polje P = new Polje(i, j, Dugmad[indeks], GeneratorSlucajnihBrojeva); Polja.Add(P); } } NosecaForma.Width = 4 + BrojKolona * SirinaDugmeta + (BrojKolona - 1) * HorizontalniRazmak + 18; NosecaForma.Height = 4 + BrojRedova * VisinaDugmeta + (BrojRedova - 1) * VertikalniRazmak + 40; NosecaForma.MinimumSize = new Size(NosecaForma.Width, NosecaForma.Height); NosecaForma.MaximumSize = new Size(NosecaForma.Width, NosecaForma.Height); NosecaForma.MaximizeBox = false; NosecaForma.Text = "KlikMatrica (" + BrojRedova.ToString() + " x " + BrojKolona.ToString() + ") - " + BrojPreostalih.ToString(); }