Buradasınız

Aynısını Bulma Oyunu

çiftini bul

C# form uygulamaları ile yapılmış olan resimlerin eşlerini bulma oyunu. Bir form oluşturularak, form'a birtane imageList nesnesi ekledik ve imageList'e resimleri aktardık.

Resimleri aşağıda görüldü gibi sıraya koyduk. ilk sırada açılmamış ise nasıl görünecekler, son sırada eşini bulduğunda nasıl görünecekler aradada sıra ile resim üzerinde rakamlar koyduk. Burada  rakamlar yerine resimde koyulabilir.

resimlerin çiftini bul

Bu işlemleri yaptıktan sonra formun kod kısmına aşağıdaki static değişkenleri oluşturuyoruz.

static int[] sayi = new int[20];
static int tik_say = 0;
static PictureBox bir = new PictureBox();
static PictureBox iki = new PictureBox();
static int bilinen = 0;

Form'un Load olayınada aşağıdaki kodları yazıyoruz.

private void Form1_Load(object sender, EventArgs e)
{

for (int i = 0; i < 20; i++) { sayi[i] = 0; } //diziyi sıfırlama

for (int x = 1; x <= 10; x++)
{
    Random r = new Random();
    int sayac = 0;
    do
    {
        int s = r.Next(0, 20);

        if (sayi[s] == 0)
        {
            sayi[s] = x;
            sayac++;
        }

        if (sayac == 2) break;


    } while (true);


}

//--resim 
this.Size=new Size(650, 750);
this.Location = new Point(0, 0);
int h = 0;
for (int i = 0; i < 20; i++)
{
    PictureBox resim = new PictureBox();
    resim.Name = "r" + i;
    resim.Size = new Size(125, 175);

    if (i % 5 == 0) h++;
    resim.Location = new Point((i % 5) * 126, (h - 1) * 176);
    resim.Image = ımageList1.Images[0];
    resim.Tag = i;
    resim.Click += Resim_Click;
    this.Controls.Add(resim);
}

}

Resimlere tıklanmasında çalışacak Resim_Click metodununda aşağıdaki bigi oluşturalım.

private void Resim_Click(object sender, EventArgs e)
{
PictureBox tekresim = (PictureBox)sender;

int tiklamasirasi = (int)tekresim.Tag;
tekresim.Image = ımageList1.Images[sayi[tiklamasirasi]];

// tekresim.Click += Resim_Click;



if (tik_say == 2)

{
    tik_say = 0;

    if (sayi[(int)bir.Tag] == sayi[(int)iki.Tag])
    {
        bir.Image = ımageList1.Images[11];
        bir.Click -= Resim_Click;
        iki.Image = ımageList1.Images[11];
        iki.Click -= Resim_Click;
        bilinen++;

    }
    else
    {

        bir.Image = ımageList1.Images[0];
        iki.Image = ımageList1.Images[0];
        bir.Click += Resim_Click;
        iki.Click += Resim_Click;
    }

}
            



if (tik_say == 0)
{
               
    bir = tekresim;
    bir.Click -= Resim_Click;
}
else if (tik_say == 1)
{
               
    iki = tekresim;
    iki.Click -= Resim_Click;
}
            

if ((tik_say == 1) && (bilinen ==9))
{

    if (sayi[(int)bir.Tag] == sayi[(int)iki.Tag])
    {
        bir.Image = ımageList1.Images[11];
        bir.Click -= Resim_Click;
        iki.Image = ımageList1.Images[11];
        iki.Click -= Resim_Click;
        bilinen++;
    }
}


if (bilinen == 10) MessageBox.Show("Tekbrikler bitirdiniz!!!", "Oyun Bitti");

tik_say++;         
 
}

Hepsi bukadar şimdi uygulamamızı çalıştıralım.

Yorum ekle

Konuyla İlgili Yazılar

c# ve veritabanı database

C#'ta Veritabanın'dan Kayıt Silme

Bu yazılı dersimizden önceki Bilgi Listeleme dersimize bakmanız iyi olacaktır. Önceki uygulamamıza bağlı olarak yeni bir form oluşturalım. aşağıdaki gibi  ... devamı...