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

GİU 2.Dönem Konu ve Uygulamaları

Gelişimiş internet uygulamaları dersi sınav konuları ve yapılan uygulamalar devamı...