Tarlanın (Butonların) Hazırlanması

Mayın tarlası oyunumuzun kodlamasına 10×10 boyutunda bir butonlar panelini oluşturarak başlayalım. Bunun için yüz adet butonu sürükle bırak yöntemi ile oluşturmak tabi ki çok zor. Bundan dolayı bu butonları bir for döngüsü ile oluşturup panelimize ekleyeceğiz.

    Butonları yerleştirmek için form üzerine 500×500 boyutunda bir panel ekleyelim.
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
Button b=new Button();
b.Name = "_" + i + "" + j;
b.Size=new Size(50,50);
b.Text = "*";
b.TextAlign=ContentAlignment.MiddleCenter;
b.Location=new Point(i*50,j*50);
b.Tag = "-";
panelTarla.Controls.Add(b);
}
}

Buradaki i sayısı üzerine dönen for butonun satırını, j sayısı üzerinde dönen for döngüsü ise sütun sayısını ifade eder. Burada, butonun mayın olup olmadığını Tag özelliğine atayacağımız işaret ile sorgulayacağız. Tag özelliği bir nevi cep görevi görür kontrollerde, içine object türünde nesne alır.  Başlangıçta bütün butonları temiz anlamında “-” işareti ile işaretleyelim. Butonun yerini de Location özelliği ile belirliyoruz ve son adım olarak oluşturduğumuz butonu panelTarla.Controls.Add(b) satırı ile panele ekliyoruz.

        Tarlaya yerleştirilen butonlar içinden mayın olanların belirlenmesi:
int s = 0;
while (s < 10)
{
Random r = new Random();
int sayi = r.Next(0, 100);
int satir = sayi%10;
int sutun = sayi/10;
Button button = panelTarla.Controls["_" + satir + "" + sutun] as Button;

if ((string) button.Tag=="-")
{
button.Tag = "+";
s++;
}
}

Burada, “Button button = panelTarla.Controls[“_” + satir + “” + sutun] as Button” satırı ile satır ve sutuna göre adı belirlenen kontrolu buton olarak alıyoruz ve bu butonun Tag özelliği “-” ise mayına çevirmek adına “+” işareti ile değiştiriyoruz ve s sayısını arttırıyoruz böylece tarlaya rastgele on adet mayın döşemiz oluruz.

https://github.com/saitorhan/mayintarlasi

Yorum Yapın

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d blogcu bunu beğendi: