public void KutucuklariOlustur(int _boyut) { boyut = _boyut; Rectangle r = panel.ClientRectangle; Point p = new Point(r.X, r.Y); panel.Location = new Point(34 + (8 - boyut) * 26, 30 + (9 - boyut) * 25); kutucuklar = new Kutucuk[boyut, boyut]; for (int i = 0; i < boyut; i++) { for (int j = 0; j < boyut; j++) { kutucuklar[i, j] = new Kutucuk(p, i, j); kutucuklar[i, j].BackColor = Color.LightGray; panel.Controls.Add(kutucuklar[i, j]); kutucuklar[i, j].MouseDown += Kutucuk_click; p.X += 50; } p.Y += 50; p.X = r.X; } }
private void Kutucuk_click(object sender, MouseEventArgs e) { Kutucuk kutucuk = (Kutucuk)sender; if (e.Button == MouseButtons.Left) { KutucuklarinRenginiDuzenle(); kutucuk.acildiMi = true; kutucuk.BackColor = Color.Purple; kutucuk.Text = (acilanBolgeSayisi + 1).ToString(); acilanBolgeSayisi++; oyunSifirlandi = false; sayac = 0; // koordinatları dizi haline getir koordinatlar[1][2] int x1 = kutucuk.koordinatX + 2; // L hareketlerinin koordinatları int x2 = kutucuk.koordinatX - 2; int x3 = kutucuk.koordinatX + 1; int x4 = kutucuk.koordinatX - 1; int y1 = kutucuk.koordinatY + 2; int y2 = kutucuk.koordinatY - 2; int y3 = kutucuk.koordinatY + 1; int y4 = kutucuk.koordinatY - 1; if (x1 > -1 && y3 > -1 && x1 < boyut && y3 < boyut && !kutucuklar[x1, y3].acildiMi) // koşullar { TiklananKutucukIslemleri(x1, y3); } if (x1 > -1 && y4 > -1 && x1 < boyut && y4 < boyut && !kutucuklar[x1, y4].acildiMi) { TiklananKutucukIslemleri(x1, y4); } if (x3 > -1 && y1 > -1 && x3 < boyut && y1 < boyut && !kutucuklar[x3, y1].acildiMi) { TiklananKutucukIslemleri(x3, y1); } if (x3 > -1 && y2 > -1 && x3 < boyut && y2 < boyut && !kutucuklar[x3, y2].acildiMi) { TiklananKutucukIslemleri(x3, y2); } if (x2 > -1 && y3 > -1 && x2 < boyut && y3 < boyut && !kutucuklar[x2, y3].acildiMi) { TiklananKutucukIslemleri(x2, y3); } if (x2 > -1 && y4 > -1 && x2 < boyut && y4 < boyut && !kutucuklar[x2, y4].acildiMi) { TiklananKutucukIslemleri(x2, y4); } if (x4 > -1 && y1 > -1 && x4 < boyut && y1 < boyut && !kutucuklar[x4, y1].acildiMi) { TiklananKutucukIslemleri(x4, y1); } if (x4 > -1 && y2 > -1 && x4 < boyut && y2 < boyut && !kutucuklar[x4, y2].acildiMi) { TiklananKutucukIslemleri(x4, y2); } kalanKutucuk.Text = ((boyut * boyut) - acilanBolgeSayisi).ToString(); // kalan kutucuk sayısı hamle.Text = sayac.ToString(); // oynanabilecek hamle sayısı if (acilanBolgeSayisi == boyut * boyut) // kazanma durumu { kutucuk.BackColor = Color.Orange; kutucuk.Text = "GAME" + Environment.NewLine + acilanBolgeSayisi.ToString() + Environment.NewLine + "FINISH"; OyunuBitir(true); } if (sayac == 0 && !oyunSifirlandi) // kaybetme durumu { kutucuk.BackColor = Color.Red; kutucuk.Text = "GAME" + Environment.NewLine + acilanBolgeSayisi.ToString() + Environment.NewLine + "OVER"; OyunuBitir(false); } } }