Visual Basic .NET ile Puzzle Uygulamasi

Visual Basic .NET ile Puzzle Uygulamasi

Merhaba arkadaslar. Yapboz oyununu sever misiniz? Bugün vb.net’te basit bir puzzel yapalim istiyorum. Öyle fazla abartili büyük olmasin. 4 sütun 3 satirdan olussa kâfidir ssanirim.

O zaman hemen visual studiomuzu açip yeni bir proje baslatalim ve formumuza 12 + 1 tane picturebox yerlestirelim. Unutmayin yukarida belirttigimiz gibi 4×3 olacak.

Simdi de hemen bir resim seçelim ve bu resmi 12 esit parçaya ayiralim. Ayirdigimiz parçalara 1,2,3… veya resim1, resim2, resim3… gibi muntazaman isimler verelim.

Burada dikkat etmemiz gereken husus resmin bir parçasinin ve pictureboxlarin boyutlarinin ayni olmasi gerektigidir. Aksi taktirde bazi uyumsuzluklar yasanabilir.

Simdi sira geldi 12 parçaya ayrilmis resmimizi projemize eklemeye. Projemizin oldugu klasöre yeni bir klasör açip (mesela: resimler) parçalara ayirdigimiz resimleri oraya kopyalayalim.

.

Formumuza ekledigimiz pictureboxlara o resimleri gelisigüzel yerlestirelim Fakat pictureboxun biri bos kalsin, yani resmin bir parçasini kullanmayacagiz. Ben resim4’ü kullanmadim mesela. Siz de köselere gelen resimlerden birini seçin ve onu kullanmayin.

Puzzle

Gelelim programimizin kodlarina ve program mantigina : Yapbozun herhangi bir parçasina tikladigimiz zaman, eger varsa, yanindaki bos kareye geçmeli. Puzzel tahtamizta tek bir kare bos kalacakti hatirlarsaniz. Bizim yapmamiz gereken en önemli sey tiklanan parçanin yaninda bos kare var mi? Varsa hangi tarafinda? Bunu bildirirsek isimiz kolaydir.

Bu noktada hayal gücümüze birazcik is düsüyor o kadar.

Puzzle

Resimde de gördügünüz gibi 3’üncü parçanin kayabilecegi üç yer var: 2’inci parça, 4’üncü parça ve 7’inci parça. Bunu vb.net dilinde su sekilde yazabiliriz:

Private Sub PictureBox3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox3.Click
If PictureBox4.Image Is PictureBoxBos.Image Then

PictureBox4.Image = PictureBox3.Image
PictureBox3.Image = PictureBoxBos.Image

ElseIf PictureBox2.Image Is PictureBoxBos.Image Then

PictureBox2.Image = PictureBox3.Image
PictureBox3.Image = PictureBoxBos.Image

ElseIf PictureBox7.Image Is PictureBoxBos.Image Then

PictureBox7.Image = PictureBox3.Image
PictureBox3.Image = PictureBoxBos.Image
End If
End Sub

Burada dikkatinizi PictureBoxBos çekmistir. Hani basta 12 + 1 tane picturebox yerlestirin demistim ya? Iste sebebi buydu. Yani bos biraktigimiz pictureboxu, üzerine tikladigimiz pictureboxun bos olup olmadigini karsilastirirken kullaniyoruz. “Eger picturebox3 esittir pictureboxbos ise…”

. Birinci kareye bakalim bir de:


Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
If PictureBox5.Image Is PictureBoxBos.Image Then

PictureBox5.Image = PictureBox1.Image
PictureBox1.Image = PictureBoxBos.Image

ElseIf PictureBox2.Image Is PictureBoxBos.Image Then

PictureBox2.Image = PictureBox1.Image
PictureBox1.Image = PictureBoxBos.Image
End If

End Sub

Gördügünüz gibi son derece basit.

Program mantigini tekrar etmek gerekirse: Yapbozun herhangi bir parçasina tikladigimiz zaman, eger varsa, yanindaki bos kareye geçmeli.

Kodlarin tamami:

Public Class Form1

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
If PictureBox5.Image Is PictureBoxBos.Image Then

PictureBox5.Image = PictureBox1.Image
PictureBox1.Image = PictureBoxBos.Image

ElseIf PictureBox2.Image Is PictureBoxBos.Image Then

PictureBox2.Image = PictureBox1.Image
PictureBox1.Image = PictureBoxBos.Image
End If

End Sub

Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click
If PictureBox1.Image Is PictureBoxBos.Image Then

PictureBox1.Image = PictureBox2.Image
PictureBox2.Image = PictureBoxBos.Image

ElseIf PictureBox3.Image Is PictureBoxBos.Image Then

PictureBox3.Image = PictureBox2.Image
PictureBox2.Image = PictureBoxBos.Image

ElseIf PictureBox6.Image Is PictureBoxBos.Image Then

PictureBox6.Image = PictureBox2.Image
PictureBox2.Image = PictureBoxBos.Image

End If

End Sub

Private Sub PictureBox3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox3.Click
If PictureBox4.Image Is PictureBoxBos.Image Then

PictureBox4.Image = PictureBox3.Image
PictureBox3.Image = PictureBoxBos.Image

ElseIf PictureBox2.Image Is PictureBoxBos.Image Then

PictureBox2.Image = PictureBox3.Image
PictureBox3.Image = PictureBoxBos.Image

ElseIf PictureBox7.Image Is PictureBoxBos.Image Then

PictureBox7.Image = PictureBox3.Image
PictureBox3.Image = PictureBoxBos.Image
End If
End Sub

Private Sub PictureBox4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox4.Click
If PictureBox3.Image Is PictureBoxBos.Image Then

PictureBox3.Image = PictureBox4.Image
PictureBox4.Image = PictureBoxBos.Image

ElseIf PictureBox8.Image Is PictureBoxBos.Image Then

PictureBox8.Image = PictureBox4.Image
PictureBox4.Image = PictureBoxBos.Image
End If

End Sub

Private Sub PictureBox5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox5.Click

If PictureBox1.Image Is PictureBoxBos.Image Then

PictureBox1.Image = PictureBox5.Image
PictureBox5.Image = PictureBoxBos.Image

ElseIf PictureBox6.Image Is PictureBoxBos.Image Then

PictureBox6.Image = PictureBox5.Image
PictureBox5.Image = PictureBoxBos.Image

ElseIf PictureBox9.Image Is PictureBoxBos.Image Then

PictureBox9.Image = PictureBox5.Image
PictureBox5.Image = PictureBoxBos.Image
End If
End Sub

Private Sub PictureBox6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox6.Click
If PictureBox2.Image Is PictureBoxBos.Image Then

PictureBox2.Image = PictureBox6.Image
PictureBox6.Image = PictureBoxBos.Image
ElseIf PictureBox5.Image Is PictureBoxBos.Image Then

PictureBox5.Image = PictureBox6.Image
PictureBox6.Image = PictureBoxBos.Image

ElseIf PictureBox7.Image Is PictureBoxBos.Image Then

PictureBox7.Image = PictureBox6.Image
PictureBox6.Image = PictureBoxBos.Image

ElseIf PictureBox10.Image Is PictureBoxBos.Image Then

PictureBox10.Image = PictureBox6.Image
PictureBox6.Image = PictureBoxBos.Image
End If
End Sub

Private Sub PictureBox7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox7.Click
If PictureBox6.Image Is PictureBoxBos.Image Then

PictureBox6.Image = PictureBox7.Image
PictureBox7.Image = PictureBoxBos.Image

ElseIf PictureBox3.Image Is PictureBoxBos.Image Then

PictureBox3.Image = PictureBox7.Image
PictureBox7.Image = PictureBoxBos.Image
End If

If PictureBox8.Image Is PictureBoxBos.Image Then

PictureBox8.Image = PictureBox7.Image
PictureBox7.Image = PictureBoxBos.Image

ElseIf PictureBox11.Image Is PictureBoxBos.Image Then

PictureBox11.Image = PictureBox7.Image
PictureBox7.Image = PictureBoxBos.Image
End If
End Sub

Private Sub PictureBox8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox8.Click

If PictureBox7.Image Is PictureBoxBos.Image Then

PictureBox7.Image = PictureBox8.Image
PictureBox8.Image = PictureBoxBos.Image

ElseIf PictureBox4.Image Is PictureBoxBos.Image Then

PictureBox4.Image = PictureBox8.Image
PictureBox8.Image = PictureBoxBos.Image

ElseIf PictureBox12.Image Is PictureBoxBos.Image Then

PictureBox12.Image = PictureBox8.Image
PictureBox8.Image = PictureBoxBos.Image
End If
End Sub

Private Sub PictureBox9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox9.Click
If PictureBox5.Image Is PictureBoxBos.Image Then

PictureBox5.Image = PictureBox9.Image
PictureBox9.Image = PictureBoxBos.Image

ElseIf PictureBox10.Image Is PictureBoxBos.Image Then

PictureBox10.Image = PictureBox9.Image
PictureBox9.Image = PictureBoxBos.Image
End If

End Sub

Private Sub PictureBox10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox10.Click
If PictureBox9.Image Is PictureBoxBos.Image Then

PictureBox9.Image = PictureBox10.Image
PictureBox10.Image = PictureBoxBos.Image

ElseIf PictureBox11.Image Is PictureBoxBos.Image Then

PictureBox11.Image = PictureBox10.Image
PictureBox10.Image = PictureBoxBos.Image

ElseIf PictureBox6.Image Is PictureBoxBos.Image Then

PictureBox6.Image = PictureBox10.Image
PictureBox10.Image = PictureBoxBos.Image
End If
End Sub

Private Sub PictureBox11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox11.Click
If PictureBox7.Image Is PictureBoxBos.Image Then

PictureBox7.Image = PictureBox11.Image
PictureBox11.Image = PictureBoxBos.Image

ElseIf PictureBox10.Image Is PictureBoxBos.Image Then

PictureBox10.Image = PictureBox11.Image
PictureBox11.Image = PictureBoxBos.Image

ElseIf PictureBox12.Image Is PictureBoxBos.Image Then

PictureBox12.Image = PictureBox11.Image
PictureBox11.Image = PictureBoxBos.Image
End If
End Sub

Private Sub PictureBox12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox12.Click
If PictureBox8.Image Is PictureBoxBos.Image Then

PictureBox8.Image = PictureBox12.Image
PictureBox12.Image = PictureBoxBos.Image

ElseIf PictureBox11.Image Is PictureBoxBos.Image Then

PictureBox11.Image = PictureBox12.Image
PictureBox12.Image = PictureBoxBos.Image
End If
End Sub
End Class

.

27 thoughts on “Visual Basic .NET ile Puzzle Uygulamasi

  1. gülcan bence o kysmyda yapmak için biraz u?ra?malysyn. sonrasynda yaptyklaryny sitede paya?yrsan süper olur.

  2. ellerinize sa?lyk proje ödevim vardy çok iyi oldu

    peki bir sorum olacak hocamyz diyoki puzzle daki resmi ben seçiçem program otomatikonu parçalara ayyracak bunu yapabilir misiniz?
  3. çok güzel site olmus

    gerçekten çok begendim…

    fazla söz bulamiyorum

    özür dilerim…

    hadi bay bay bay…

  4. ornekteki resim boyutlarinda bir resim bulacaksin ve photoshop benzeri bir programla tek tek resmi keseceksin.  photoshop yoksa bilgisayarinda http://pixlr.com/editor/ bu adresden online olarak resim editoru kullanabilirsin

  5. tamam ben ödewi yaptim tesekkürler arkadaslar ama istedigim resmi nasil seçicem ?? yardimci olursaniz sewinirim

  6. çoskun ben ögrenci degilim o yuzden boyle  bir ödevim yok. burdaki ornek tam olarak isini görmedi ise yapan arkadaslar paylasirlar sanirim.

  7. Puzzle oyununu bitirmis arkadaslar bana mail atabilir mi ? cok acil bisey sorucam da  mail adresim coskun__guner htmail .  com    ulasirsaniz cok sewinirim arkadaslar

     

  8. Aylin Tesekkür Ederim…

    Puzzle Yaptim.. Gayet Güzel Oldu 🙂

    Yinede Düsündügün Için Tesekkürler..

     

     

  9. Kizmabiraderi yapabilen yada nasil yapilabilecegi ile ilgili bilgisi olan yokmu.. En azindan oyunun yapilisindaki mantigini kurabilen yokmu ?

     

  10. ben kizma birader oyununun nasil oynandigini bile bilmiyorum 🙂 google amcaya bi soralim bakalim nasil bir oyunmus

  11. VB.NET te kizmabirader oyunu  yapmak istiyorum acaba nasil yapabilirim yardim edebilirmisiniz. ?

  12.  Program Için Teskkür Ederim.. Ben Bilgisayar Programcisi Ögrencisiyim Lise 3.. Benim Dönem Ödevim Var … 

    Vb’Net’te Puzzle Yapacam… Bana Yardimci Olursaniz Sevinirim..Bu Örnek Yapmam Gerekn Gibi Deqil…

     

    Drag-Drop Yöntemini Kullanmam Gerekiyor… 

    Sonra Oyunun Baslamasi Icin Button … Vs. vs.. Bana Yardimci Olursaniz Sevinirim..

    ailinizi Bekliyorum Sn: Ahmet TANRIVERDI..

    Gmail: tolgacan.1907@gmail.com

    Tekrar Tesekkür Ederim Program Icin

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir