Puzzle Oyunu C#

Herkesin severek oynadığı  Puzzle Oyunu C#

puzzle

[code language=”csharp”]
public partial class Form1 : Form
{
int sn, dk;
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
pictureBox1.Enabled = false;
pictureBox2.Enabled = false;
pictureBox3.Enabled = false;
pictureBox4.Enabled = false;
pictureBox5.Enabled = false;
pictureBox6.Enabled = false;
pictureBox7.Enabled = false;
pictureBox8.Enabled = false;
pictureBox9.Enabled = false;
pictureBox10.Enabled = false;
pictureBox11.Enabled = false;
pictureBox12.Enabled = false;

timer1.Enabled = false; //Timer1’ri pasfi hale getiriyoruz.
timer1.Interval = 1000; //Timer1’in Interval’ini 1000 olarak ayarlıyoruz.
sn = 0; // saniyeyi başlangıçta sıfır yapar
dk = 0; // dakikayı başlangıçta sıfır yapar

}

private void timer1_Tick(object sender, EventArgs e)
{
if (timer1.Enabled == true)
pictureBox1.Enabled = true;
pictureBox2.Enabled = true;
pictureBox3.Enabled = true;
pictureBox4.Enabled = true;
pictureBox5.Enabled = true;
pictureBox6.Enabled = true;
pictureBox7.Enabled = true;
pictureBox8.Enabled = true;
pictureBox9.Enabled = true;
pictureBox10.Enabled = true;
pictureBox11.Enabled = true;
pictureBox12.Enabled = true;

sn++;
label2.Text = sn.ToString();
if (sn == 5)
{
dk = dk + 1;
label3.Text = dk.ToString();
sn = 0;
label2.Text = sn.ToString();
}

}

private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}

private void button3_Click(object sender, EventArgs e)
{
Close();
}

private void pictureBox1_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.

{

if (pictureBox5.Image == pictureBox25.Image)
{
pictureBox5.Image = pictureBox1.Image;
pictureBox1.Image = pictureBox25.Image;
}

if (pictureBox2.Image == pictureBox25.Image)
{
pictureBox2.Image = pictureBox1.Image;
pictureBox1.Image = pictureBox25.Image;
}
}

private void pictureBox2_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
{
if (pictureBox1.Image == pictureBox25.Image)
{
pictureBox1.Image = pictureBox2.Image;
pictureBox2.Image = pictureBox25.Image;
}

if (pictureBox6.Image == pictureBox25.Image)
{
pictureBox6.Image = pictureBox2.Image;
pictureBox2.Image = pictureBox25.Image;
}

if (pictureBox3.Image == pictureBox25.Image)
{
pictureBox3.Image = pictureBox2.Image;
pictureBox2.Image = pictureBox25.Image;
}
}

private void pictureBox3_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
{

if (pictureBox2.Image == pictureBox25.Image)
{
pictureBox2.Image = pictureBox3.Image;
pictureBox3.Image = pictureBox25.Image;
}

if (pictureBox7.Image == pictureBox25.Image)
{
pictureBox7.Image = pictureBox3.Image;
pictureBox3.Image = pictureBox25.Image;
}

if (pictureBox4.Image == pictureBox25.Image)
{
pictureBox4.Image = pictureBox3.Image;
pictureBox3.Image = pictureBox25.Image;
}

}

private void pictureBox4_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
{
if (pictureBox3.Image == pictureBox25.Image)
{
pictureBox3.Image = pictureBox4.Image;
pictureBox4.Image = pictureBox25.Image;
}

if (pictureBox8.Image == pictureBox25.Image)
{
pictureBox8.Image = pictureBox4.Image;
pictureBox4.Image = pictureBox25.Image;
}
}

private void pictureBox5_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
{
if (pictureBox1.Image == pictureBox25.Image)
{
pictureBox1.Image = pictureBox5.Image;
pictureBox5.Image = pictureBox25.Image;
}

if (pictureBox6.Image == pictureBox25.Image)
{
pictureBox6.Image = pictureBox5.Image;
pictureBox5.Image = pictureBox25.Image;
}

if (pictureBox9.Image == pictureBox25.Image)
{
pictureBox9.Image = pictureBox5.Image;
pictureBox5.Image = pictureBox25.Image;
}
}

private void pictureBox6_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
{
if (pictureBox5.Image == pictureBox25.Image)
{
pictureBox5.Image = pictureBox6.Image;
pictureBox6.Image = pictureBox25.Image;
}

if (pictureBox2.Image == pictureBox25.Image)
{
pictureBox2.Image = pictureBox6.Image;
pictureBox6.Image = pictureBox25.Image;
}

if (pictureBox7.Image == pictureBox25.Image)
{
pictureBox7.Image = pictureBox6.Image;
pictureBox6.Image = pictureBox25.Image;
}

if (pictureBox10.Image == pictureBox25.Image)
{
pictureBox10.Image = pictureBox6.Image;
pictureBox6.Image = pictureBox25.Image;
}
}

private void pictureBox7_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
{
if (pictureBox6.Image == pictureBox25.Image)
{
pictureBox6.Image = pictureBox7.Image;
pictureBox7.Image = pictureBox25.Image;
}

if (pictureBox11.Image == pictureBox25.Image)
{
pictureBox11.Image = pictureBox7.Image;
pictureBox7.Image = pictureBox25.Image;
}

if (pictureBox8.Image == pictureBox25.Image)
{
pictureBox8.Image = pictureBox7.Image;
pictureBox7.Image = pictureBox25.Image;
}

if (pictureBox3.Image == pictureBox25.Image)
{
pictureBox3.Image = pictureBox7.Image;
pictureBox7.Image = pictureBox25.Image;
}
}

private void pictureBox8_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
{
if (pictureBox7.Image == pictureBox25.Image)
{
pictureBox7.Image = pictureBox8.Image;
pictureBox8.Image = pictureBox25.Image;
}

if (pictureBox4.Image == pictureBox25.Image)
{
pictureBox4.Image = pictureBox8.Image;
pictureBox8.Image = pictureBox25.Image;
}

if (pictureBox12.Image == pictureBox25.Image)
{
pictureBox12.Image = pictureBox8.Image;
pictureBox8.Image = pictureBox25.Image;
}
}

private void pictureBox9_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
{
if (pictureBox5.Image == pictureBox25.Image)
{
pictureBox5.Image = pictureBox9.Image;
pictureBox9.Image = pictureBox25.Image;
}

if (pictureBox10.Image == pictureBox25.Image)
{
pictureBox10.Image = pictureBox9.Image;
pictureBox9.Image = pictureBox25.Image;
}
}

private void pictureBox10_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
{
if (pictureBox9.Image == pictureBox25.Image)
{
pictureBox9.Image = pictureBox10.Image;
pictureBox10.Image = pictureBox25.Image;
}

if (pictureBox11.Image == pictureBox25.Image)
{
pictureBox11.Image = pictureBox10.Image;
pictureBox10.Image = pictureBox25.Image;
}

if (pictureBox6.Image == pictureBox25.Image)
{
pictureBox6.Image = pictureBox10.Image;
pictureBox10.Image = pictureBox25.Image;
}
}

private void pictureBox11_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
{
if (pictureBox10.Image == pictureBox25.Image)
{
pictureBox10.Image = pictureBox11.Image;
pictureBox11.Image = pictureBox25.Image;
}

if (pictureBox12.Image == pictureBox25.Image)
{
pictureBox12.Image = pictureBox11.Image;
pictureBox11.Image = pictureBox25.Image;
}

if (pictureBox7.Image == pictureBox25.Image)
{
pictureBox7.Image = pictureBox11.Image;
pictureBox11.Image = pictureBox25.Image;
}
}

private void pictureBox12_Click(object sender, EventArgs e)
//PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
//PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
{
if (pictureBox11.Image == pictureBox25.Image)
{
pictureBox11.Image = pictureBox12.Image;
pictureBox12.Image = pictureBox25.Image;
}

if (pictureBox8.Image == pictureBox25.Image)
{
pictureBox8.Image = pictureBox12.Image;
pictureBox12.Image = pictureBox25.Image;
}
}

private void button2_Click(object sender, EventArgs e)
{
timer1.Enabled = false;
pictureBox1.Enabled = false;
pictureBox2.Enabled = false;
pictureBox3.Enabled = false;
pictureBox4.Enabled = false;
pictureBox5.Enabled = false;
pictureBox6.Enabled = false;
pictureBox7.Enabled = false;
pictureBox8.Enabled = false;
pictureBox9.Enabled = false;
pictureBox10.Enabled = false;
pictureBox11.Enabled = false;
pictureBox12.Enabled = false;
}
}[/code]

Projeyi İndir

Yorumlar 32

  • Bunu Sayılı Olarak Picture Box Yerine Button Da KullanamazMısınn Lazım Da Bi Türlü Yapamıyorumm

  • kullabilirsin.İmagelist ekleyip butpnlara imagelisteki resimleri aktaracaksın.

    button1.ImageList.Images[0];

  • üstadım proje ödevi olarak puzzle yapmmaız gerekiyor ama bir-iki sorun çıkartıyor acaba mail atabilirmisin bilgi almak için çok teşşekkür kolay gelsin

  • bu projede değişiklik yapılmıyor buton eklenmiyor nasıl yapacagız bilmiyorum bi yardımcı olursanız sevinirim. buton ekleyip diğer puzzleye geçiniz diyeceğim olmuyo yardımcı olursanız çok sevinirim.

  • Ekleniyor.İyi bakın.

  • Bu projeye istediğimiz bir resmi eklememizi yarayan kod yaca nesne nedr yardımcı olursanız sevinirim…

  • picturebox’ı seçtikten sonra properties’ten image nin yanındaki üç notaya tıkla.İmport Tıkla ve istediğin resmi seç.

  • Tşkler, yapacağım puzzle oyununda herhangi bir istediğimiz resimi eklemem gerekiyor. Eklenen bu resmi picturebox ile otomatik olarak nasıl parçalara bölebilirim.

  • bu resmı tek bir picturebox ıcerısınde parcalayamazmıyız ?

  • tonguç : ImageList kullanarak yapabilirsiniz.

  • Oyun bittik ten sonra buton ekleyip messagebox ile tebrikler nasıl yazdırabilirim ?

  • SdT :
    Oyun bittik ten sonra buton ekleyip messagebox ile tebrikler nasıl yazdırabilirim ?

    Biri Yardım Etsin Ödevim Var …

  • @SdT
    Öncelikler bir değişken belirle.Pictureboxların click olaylarına bildikleri zamanlarda değişkeni bir artır.Değişken değeri picturebox sayısı olduğu zaman mesaj ile tebrik yazdır.

  • ya be bu kodları yazmama ragmen program çalışmıyo ve hata da vermiyo acaba nerde yanlış yapmış olabilirim

  • Kodlar doğru.Projeyi İNDİR linkinden indirebilirsin.

  • Benim programda picturebox’ın içindeki resim hashset ile karışık atıyor .Nasıl kontrol ettircem?

  • Puzzle programının akış şemasına örnek verebilrmisiniz acaba.

  • öğretmen puzzle oyunu yapmammızı istedi ama burdan copy paste yapamam farklı bi şekilde nasıl yapabilirim

  • nurhayat:
    Döngüleri,değişkenleri ,şartları veya görselliği değiştirebilirsin

  • resmi nasıl kaydırcam

  • Nurhayat :
    Picturebox1.Left=Picturebox1.Left+10
    Yukarıdaki kodla kaydırabilirsin.

  • Merhaba bu picturebox eşleştirmeleri nasıl yapılıyor tam anlamadım

  • merve :
    pictureBox ların Click olayına if kullanarak yaptık.

  • private void pictureBox6_Click(object sender, EventArgs e)
    //PictureBox’a tıkladığı zaman boş olarak yerine pictureBox25 geçiyor
    //PictureBox’ları yerine gelebicelecek şekilde eşitliyoruz.
    {
    if (pictureBox5.Image == pictureBox25.Image)
    {
    pictureBox5.Image = pictureBox6.Image;
    pictureBox6.Image = pictureBox25.Image;
    }

    if (pictureBox2.Image == pictureBox25.Image)
    {
    pictureBox2.Image = pictureBox6.Image;
    pictureBox6.Image = pictureBox25.Image;
    }

    if (pictureBox7.Image == pictureBox25.Image)
    {
    pictureBox7.Image = pictureBox6.Image;
    pictureBox6.Image = pictureBox25.Image;
    }

    if (pictureBox10.Image == pictureBox25.Image)
    {
    pictureBox10.Image = pictureBox6.Image;
    pictureBox6.Image = pictureBox25.Image;
    }
    }

    Mesela burada pB7 ve pB6 neye göre seçildi?

  • merve :
    picturebox25 resim boş olan resimdir. Her picturebox ın click olayına bakarsan çevresindeki pictureboxlar karşılaştırma yapılıyor.senin yukarıda verdiğin örnekte picturebox6 nin sağında,soluna, yukarısında ve aşağısında (Formun dizaynına bakacaksın.Yani form ekranına) PictureBox7,PictureBox5,PictureBox2,PictureBox10 nolu picturebox lar var. İşlemlerde buna göre yapılıyor.Tıklanan picturebox picturebox25 resmini yani boş resmi alıyor,çevresindeki(sağında,solunda,aşağısında,yukarısında) hangi resim boş ise O da picturebox6 nın resmini alıyor.

  • Oyun bittikten sonra tebrikler yazdırmak için sayaç kullanmayı önermişsiniz ama; puzzle yapılırken aynı resim ait olduğu yerden birden fazla geçebilir o zaman ne yapacağız?

  • Esra :
    Oyun bittikten sonra Başarılar yazdırmak farklı bir algoritma izlemek lazım.Tamamen kodlar değişir.

  • matlab da aynı oyunu yapmak istiyorum. fakat resmi pixellerine nasıl ayıracağım onu yapamadım bi. rica etsem algoritmasını yazabilir misiniz

  • Kardeşim Eline Koluna Parmağına Tırnağına Sağolsun Çok Büyük sevap işledin Heykeline Beton Yetmez Seviliyorsun Başarılarının Devamını Dilerim. <3 <3

  • bu kodda hangi veri yapısı kullanıldı?

  • arkadaşlar 3×3 puzzle nasıl yaparım bilen varmı

  • kardeş insan name ye isim verir böyle kafa karıştırır. kullandığın eşyaların ismi de yazmıyo

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir