Jumat, 07 Desember 2012

TUTORIAL MEMBUAT GAME PUZZLE





Pertama-tama bukalah program Visual Basic 2010 dengan cara:
1. Klik "Start"
2. Pilih Microsoft Visual Basic 2010
3. Setelah mucul "Start Page" pilih "New Project"

 
 4. Setelah muncul halaman New Project pilih “Windows Forms Application”



5. Klik “OK”
6. Selanjutnya muncul lembar kerja Visual Basic yang biasa disebut Form
7. Form diisi dengan berbagai komponen yang didapat melalui "Toolbox"


 8. Interface  form
 Form5
Form2

Form3

Form4




  



NO
KOMPONEN
PROPERTIES
KETERANGAN
1
Form 2
Name
Form 2
Text
Puzzle Game
2
Button 1
Name
Button 1
Text
1
3
Button 2
Name
Button 2
Text
2
4
Button 3
Name
Button 3
Text
3
5
Button 4
Name
Button 4
Text
4
6
Button 5
Name
Button 5
Text
5
7
Button 6
Name
Button 6
Text
6
8
Button 7
Name
Button 7
Text
7
9
Button 8
Name
Button 8
Text
8
10
Button 9
Name
Button 9
Text

11
Button 10
Name
Button 10
Text
RANDOM
12
Button 11
Name
Button 11
Text
STOP
13
Button 12
Name
Button 12
Text
HINT
14
Button 13
Name
Button 13
Text
RESET
15
ToolStripButton1
Name
ToolStripButton1
Text
Play
16
ToolStripButton2
Name
ToolStripButton2
Text
Back
17
ToolStrip1
Name
ToolStrip1
Text
ToolStrip1
18
Timer1
Name
Timer1
Text

19
Form 3
Name
Form 3
Text
Form 3
20
PictureBox 1
Name
PictureBox1
Text

21
Button 11
Name
Button 11
Text
BACK
22
Form 4
Name
Form 4
Text
Form 4
23
Button 1
Name
Button 1
Text
1
24

Form 5

Name
Form 5
Text
Welcome
25
Label 1

Name
Label 1
Text
Welcome to Puzzle Game
26
Button 1

Name
Button 1
Text
Quit
27
Button 11

Name
Button 11
Text
Start

ANALISIS LISTING
PADA FORM 2
Public Class Form2
  
    Dim acak As Integer
    Dim Gambar As Object
    Dim Angka As String

    Dim a As Object
    Dim b As Object
    Dim c As Object
    Dim d As Object
    Dim j As Object
    Dim f As Object
    Dim g As Object
    Dim h As Object
    Dim i As Object

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Button2.Text = "" Then
            Gambar = Button1.BackgroundImage
            Button1.BackgroundImage = Button2.BackgroundImage
            Button2.BackgroundImage = Gambar
            Angka = Button1.Text
            Button1.Text = Button2.Text
            Button2.Text = Angka
        ElseIf Button4.Text = "" Then
            Gambar = Button1.BackgroundImage
            Button1.BackgroundImage = Button4.BackgroundImage
            Button4.BackgroundImage = Gambar
            Angka = Button1.Text
            Button1.Text = Button4.Text
            Button4.Text = Angka
        End If
        If Button1.Text = "1" And Button2.Text = "2" And Button3.Text = "3" And
       Button4.Text = "4" And Button5.Text = "5" And Button6.Text = "6" And
       Button7.Text = "7" And Button8.Text = "8" Then
            Button9.BackgroundImage = Form4.Button1.BackgroundImage
            MsgBox("Congratulation, you win the game :) ", vbInformation, "play")
            Button10.Enabled = True
            Button11.Enabled = True
            Button1.Enabled = False
            Button2.Enabled = False
            Button3.Enabled = False
            Button4.Enabled = False
            Button5.Enabled = False
            Button6.Enabled = False
            Button7.Enabled = False
            Button8.Enabled = False
            Button9.Enabled = False
            Button10.Enabled = False
            Button11.Enabled = False
            Button12.Enabled = False
        End If
    End Sub
Listing ini digunakan dalam pemindahan puzzle jika salah satu button di dekat button1 terdapat gambar yang kosong, maka setelah button1 diklik, button1 tersebut akan berpindah ke posisi gambar yang kosong sehingga gambar dapat bergeser. Pemindahan ini dibantu oleh properties backgroundimage dan text berupa data angka integer sehingga memudahkan dalam pemindahan menggunakan suatu source code. Data integer angka ini tidak terlihat karena ukuran text diperkecil menjadi 1 agar angka tersebut tidak terlihat.
Prinsip kerjanya adalah sebagai berikut: Ketika button1 diklik, kemungkinan yang terjadi adalah gambar backgroundimage berpindah ke button2 atau ke button 3. Jika button1 bertukar dengan button2, maka, pada button2, variable gambar adalah button1.backgroundimage sehingga nanti button2.backgroundimage sama dengan button1.backgroundimage. Namun button2.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button1.backgroundimage dengan button2.backgroundimage.
Begitu pula jika button1 bertukar dengan button4, Jika button1 bertukar dengan button4, maka, pada button4, variable gambar adalah button1.backgroundimage sehingga nanti button4.backgroundimage sama dengan button1.backgroundimage. Namun button4.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button1.backgroundimage dengan button4.backgroundimage.
Selain itu, listing di bawah ini juga berisi jika kita berhasil memenangkan game, maka gambar 9 otomatis muncul dan akan memunculkan message box yang berisi ucapan selamat dan setiap puzzle otomatis tidak dapat diklik lagi karena game sudah selesai, yaitu dengan menggunakan bantuan operator percabangan if.

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If Button1.Text = "" Then
            Gambar = Button2.BackgroundImage
            Button2.BackgroundImage = Button1.BackgroundImage
            Button1.BackgroundImage = Gambar
            Angka = Button2.Text
            Button2.Text = Button1.Text
            Button1.Text = Angka
        ElseIf Button3.Text = "" Then
            Gambar = Button2.BackgroundImage
            Button2.BackgroundImage = Button3.BackgroundImage
            Button3.BackgroundImage = Gambar
            Angka = Button2.Text
            Button2.Text = Button3.Text
            Button3.Text = Angka
        ElseIf Button5.Text = "" Then
            Gambar = Button5.BackgroundImage
            Button5.BackgroundImage = Button2.BackgroundImage
            Button2.BackgroundImage = Gambar
            Angka = Button5.Text
            Button5.Text = Button2.Text
            Button2.Text = Angka
        End If
        If Button1.Text = "1" And Button2.Text = "2" And Button3.Text = "3" And
       Button4.Text = "4" And Button5.Text = "5" And Button6.Text = "6" And
       Button7.Text = "7" And Button8.Text = "8" Then
            Button9.BackgroundImage = Form4.Button1.BackgroundImage
            MsgBox("Congratulation, you win the game :) ", vbInformation, "play")
            Button10.Enabled = True
            Button11.Enabled = True
            Button1.Enabled = False
            Button2.Enabled = False
            Button3.Enabled = False
            Button4.Enabled = False
            Button5.Enabled = False
            Button6.Enabled = False
            Button7.Enabled = False
            Button8.Enabled = False
            Button9.Enabled = False
            Button10.Enabled = False
            Button11.Enabled = False
            Button12.Enabled = False
        End If
    End Sub
Listing ini digunakan dalam pemindahan puzzle jika salah satu button di dekat button2 terdapat gambar yang kosong, maka setelah button2 diklik, button2 tersebut akan berpindah ke posisi gambar yang kosong sehingga gambar dapat bergeser. Pemindahan ini dibantu oleh properties backgroundimage dan text berupa data integer sehingga memudahkan dalam pemindahan menggunakan suatu source code. 
Prinsip kerjanya adalah sebagai berikut: Ketika button2 diklik, kemungkinan yang terjadi adalah gambar backgroundimage berpindah ke button1, ke button3 atau ke button5. Jika button2 bertukar dengan button3, maka, pada button3, variable gambar adalah button1.backgroundimage sehingga nanti button3.backgroundimage sama dengan button2.backgroundimage. Namun button2.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button1.backgroundimage dengan button3.backgroundimage.
Jika button2 bertukar dengan button1, Jika button2 bertukar dengan button1, maka, pada button1, variable gambar adalah button1.backgroundimage sehingga nanti button1.backgroundimage sama dengan button2.backgroundimage. Namun button4.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button2.backgroundimage dengan button1.backgroundimage.
Begitu pula jika button2 bertukar dengan button5, Jika button2 bertukar dengan button5, maka, pada button5, variable gambar adalah button2.backgroundimage sehingga nanti button5.backgroundimage sama dengan button2.backgroundimage. Namun button5.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button2.backgroundimage dengan button5.backgroundimage.

Selain itu, listing di bawah ini juga berisi jika kita berhasil memenangkan game, maka gambar 9 otomatis muncul dan akan memunculkan message box yang berisi ucapan selamat dan setiap puzzle otomatis tidak dapat diklik lagi karena game sudah selesai, yaitu dengan menggunakan bantuan operator percabangan if.


    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If Button2.Text = "" Then
            Gambar = Button3.BackgroundImage
            Button3.BackgroundImage = Button2.BackgroundImage
            Button2.BackgroundImage = Gambar
            Angka = Button3.Text
            Button3.Text = Button2.Text
            Button2.Text = Angka
        ElseIf Button6.Text = "" Then
            Gambar = Button3.BackgroundImage
            Button3.BackgroundImage = Button6.BackgroundImage
            Button6.BackgroundImage = Gambar
            Angka = Button3.Text
            Button3.Text = Button6.Text
            Button6.Text = Angka

        End If
        If Button1.Text = "1" And Button2.Text = "2" And Button3.Text = "3" And
       Button4.Text = "4" And Button5.Text = "5" And Button6.Text = "6" And
       Button7.Text = "7" And Button8.Text = "8" Then
            Button9.BackgroundImage = Form4.Button1.BackgroundImage
            MsgBox("Congratulation, you win the game :) ", vbInformation, "play")
            Button10.Enabled = True
            Button11.Enabled = True
            Button1.Enabled = False
            Button2.Enabled = False
            Button3.Enabled = False
            Button4.Enabled = False
            Button5.Enabled = False
            Button6.Enabled = False
            Button7.Enabled = False
            Button8.Enabled = False
            Button9.Enabled = False
            Button10.Enabled = False
            Button11.Enabled = False
            Button12.Enabled = False
        End If
    End Sub
Listing ini digunakan dalam pemindahan puzzle jika salah satu button di dekat button3 terdapat gambar yang kosong, maka setelah button3 diklik, button3 tersebut akan berpindah ke posisi gambar yang kosong sehingga gambar dapat bergeser. Pemindahan ini dibantu oleh properties backgroundimage dan text berupa data integer sehingga memudahkan dalam pemindahan menggunakan suatu source code. 
Prinsip kerjanya adalah sebagai berikut: Ketika button3 diklik, kemungkinan yang terjadi adalah gambar backgroundimage berpindah ke button2 atau ke button 6. Jika button3 bertukar dengan button2, maka, pada button2, variable gambar adalah button3.backgroundimage sehingga nanti button2.backgroundimage sama dengan button3.backgroundimage. Namun button2.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button3.backgroundimage dengan button2.backgroundimage.
Begitu pula jika button3 bertukar dengan button6, Jika button3 bertukar dengan button6, maka, pada button6, variable gambar adalah button3.backgroundimage sehingga nanti button6.backgroundimage sama dengan button3.backgroundimage. Namun button6.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button3.backgroundimage dengan button6.backgroundimage.
Selain itu, listing di bawah ini juga berisi jika kita berhasil memenangkan game, maka gambar 9 otomatis muncul dan akan memunculkan message box yang berisi ucapan selamat dan setiap puzzle otomatis tidak dapat diklik lagi karena game sudah selesai, yaitu dengan menggunakan bantuan operator percabangan if.

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        If Button1.Text = "" Then
            Gambar = Button4.BackgroundImage
            Button4.BackgroundImage = Button1.BackgroundImage
            Button1.BackgroundImage = Gambar
            Angka = Button4.Text
            Button4.Text = Button1.Text
            Button1.Text = Angka
        ElseIf Button5.Text = "" Then
            Gambar = Button4.BackgroundImage
            Button4.BackgroundImage = Button5.BackgroundImage
            Button5.BackgroundImage = Gambar
            Angka = Button4.Text
            Button4.Text = Button5.Text
            Button5.Text = Angka
        ElseIf Button7.Text = "" Then
            Gambar = Button4.BackgroundImage
            Button4.BackgroundImage = Button7.BackgroundImage
            Button7.BackgroundImage = Gambar
            Angka = Button4.Text
            Button4.Text = Button7.Text
            Button7.Text = Angka
        End If
        If Button1.Text = "1" And Button2.Text = "2" And Button3.Text = "3" And
       Button4.Text = "4" And Button5.Text = "5" And Button6.Text = "6" And
       Button7.Text = "7" And Button8.Text = "8" Then
            Button9.BackgroundImage = Form4.Button1.BackgroundImage
            MsgBox("Congratulation, you win the game :) ", vbInformation, "play")
            Button10.Enabled = True
            Button11.Enabled = True
            Button1.Enabled = False
            Button2.Enabled = False
            Button3.Enabled = False
            Button4.Enabled = False
            Button5.Enabled = False
            Button6.Enabled = False
            Button7.Enabled = False
            Button8.Enabled = False
            Button9.Enabled = False
            Button10.Enabled = False
            Button11.Enabled = False
            Button12.Enabled = False
        End If
    End Sub
Listing ini digunakan dalam pemindahan puzzle jika salah satu button di dekat button4 terdapat gambar yang kosong, maka setelah button4 diklik, button4 tersebut akan berpindah ke posisi gambar yang kosong sehingga gambar dapat bergeser. Pemindahan ini dibantu oleh properties backgroundimage dan text berupa data integer sehingga memudahkan dalam pemindahan menggunakan suatu source code. 
Prinsip kerjanya adalah sebagai berikut: Ketika button4 diklik, kemungkinan yang terjadi adalah gambar backgroundimage berpindah ke button1 atau ke button 3. Jika button4 bertukar dengan button1, maka, pada button1, variable gambar adalah button4.backgroundimage sehingga nanti button1.backgroundimage sama dengan button4.backgroundimage. Namun button1.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button4.backgroundimage dengan button1.backgroundimage.
Begitu pula jika button4 bertukar dengan button5. Jika button4 bertukar dengan button5, maka, pada button4, variable gambar adalah button4.backgroundimage sehingga nanti button4.backgroundimage sama dengan button5.backgroundimage. Namun button5.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button4.backgroundimage dengan button5.backgroundimage.
Selain itu, listing di bawah ini juga berisi jika kita berhasil memenangkan game, maka gambar 9 otomatis muncul dan akan memunculkan message box yang berisi ucapan selamat dan setiap puzzle otomatis tidak dapat diklik lagi karena game sudah selesai, yaitu dengan menggunakan bantuan operator percabangan if.

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        If Button2.Text = "" Then
            Gambar = Button5.BackgroundImage
            Button5.BackgroundImage = Button2.BackgroundImage
            Button2.BackgroundImage = Gambar
            Angka = Button5.Text
            Button5.Text = Button2.Text
            Button2.Text = Angka
        ElseIf Button4.Text = "" Then
            Gambar = Button5.BackgroundImage
            Button5.BackgroundImage = Button4.BackgroundImage
            Button4.BackgroundImage = Gambar
            Angka = Button5.Text
            Button5.Text = Button4.Text
            Button4.Text = Angka
        ElseIf Button6.Text = "" Then
            Gambar = Button5.BackgroundImage
            Button5.BackgroundImage = Button6.BackgroundImage
            Button6.BackgroundImage = Gambar
            Angka = Button5.Text
            Button5.Text = Button6.Text
            Button6.Text = Angka
        ElseIf Button8.Text = "" Then
            Gambar = Button5.BackgroundImage
            Button5.BackgroundImage = Button8.BackgroundImage
            Button8.BackgroundImage = Gambar
            Angka = Button5.Text
            Button5.Text = Button8.Text
            Button8.Text = Angka

        End If
        If Button1.Text = "1" And Button2.Text = "2" And Button3.Text = "3" And
        Button4.Text = "4" And Button5.Text = "5" And Button6.Text = "6" And
        Button7.Text = "7" And Button8.Text = "8" Then
            Button9.BackgroundImage = Form4.Button1.BackgroundImage
            MsgBox("Congratulation, you win the game :) ", vbInformation, "play")
            Button10.Enabled = True
            Button11.Enabled = True
            Button1.Enabled = False
            Button2.Enabled = False
            Button3.Enabled = False
            Button4.Enabled = False
            Button5.Enabled = False
            Button6.Enabled = False
            Button7.Enabled = False
            Button8.Enabled = False
            Button9.Enabled = False
            Button10.Enabled = False
            Button11.Enabled = False
            Button12.Enabled = False
        End If
    End Sub
Listing ini digunakan dalam pemindahan puzzle jika salah satu button di dekat button5 terdapat gambar yang kosong, maka setelah button5 diklik, button5 tersebut akan berpindah ke posisi gambar yang kosong sehingga gambar dapat bergeser. Pemindahan ini dibantu oleh properties backgroundimage dan text berupa data integer sehingga memudahkan dalam pemindahan menggunakan suatu source code. 
Prinsip kerjanya adalah sebagai berikut: Ketika button5 diklik, kemungkinan yang terjadi adalah gambar backgroundimage berpindah ke button2, button4, button8 atau  button6. Jika button5 bertukar dengan button4, maka, pada button5, variable gambar adalah button4.backgroundimage sehingga nanti button5.backgroundimage sama dengan button4.backgroundimage. Namun button5.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button4.backgroundimage dengan button5.backgroundimage.
Jika button5 bertukar dengan button2, maka, pada button5, variable gambar adalah button5.backgroundimage sehingga nanti button5.backgroundimage sama dengan button2.backgroundimage. Namun button5.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button2.backgroundimage dengan button5.backgroundimage.
Jika button5 bertukar dengan button6, maka, pada button5, variable gambar adalah button5.backgroundimage sehingga nanti button5.backgroundimage sama dengan button6.backgroundimage. Namun button5.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button6.backgroundimage dengan button5.backgroundimage.
Begitu pula jika button5 bertukar dengan button8, Jika button5 bertukar dengan button8, maka, pada button5, variable gambar adalah button5.backgroundimage sehingga nanti button5.backgroundimage sama dengan button8.backgroundimage. Namun button8.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button5.backgroundimage dengan button8.backgroundimage.
Selain itu, listing di bawah ini juga berisi jika kita berhasil memenangkan game, maka gambar 9 otomatis muncul dan akan memunculkan message box yang berisi ucapan selamat dan setiap puzzle otomatis tidak dapat diklik lagi karena game sudah selesai, yaitu dengan menggunakan bantuan operator percabangan if.

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        If Button3.Text = "" Then
            Gambar = Button6.BackgroundImage
            Button6.BackgroundImage = Button3.BackgroundImage
            Button6.BackgroundImage = Button3.BackgroundImage
            Button3.BackgroundImage = Gambar
            Angka = Button6.Text
            Button6.Text = Button3.Text
            Button6.Text = Button3.Text
            Button3.Text = Angka
        ElseIf Button5.Text = "" Then
            Gambar = Button6.BackgroundImage
            Button6.BackgroundImage = Button5.BackgroundImage
            Button5.BackgroundImage = Gambar
            Angka = Button6.Text
            Button6.Text = Button5.Text
            Button5.Text = Angka
        ElseIf Button9.Text = "" Then
            Gambar = Button6.BackgroundImage
            Button6.BackgroundImage = Button9.BackgroundImage
            Button9.BackgroundImage = Gambar
            Angka = Button6.Text
            Button6.Text = Button9.Text
            Button9.Text = Angka
        End If
        If Button1.Text = "1" And Button2.Text = "2" And Button3.Text = "3" And
       Button4.Text = "4" And Button5.Text = "5" And Button6.Text = "6" And
       Button7.Text = "7" And Button8.Text = "8" Then
            Button9.BackgroundImage = Form4.Button1.BackgroundImage
            MsgBox("Congratulation, you win the game :) ", vbInformation, "play")
            Button10.Enabled = True
            Button11.Enabled = True
            Button1.Enabled = False
            Button2.Enabled = False
            Button3.Enabled = False
            Button4.Enabled = False
            Button5.Enabled = False
            Button6.Enabled = False
            Button7.Enabled = False
            Button8.Enabled = False
            Button9.Enabled = False
            Button10.Enabled = False
            Button11.Enabled = False
            Button12.Enabled = False
        End If
    End Sub
Listing ini digunakan dalam pemindahan puzzle jika salah satu button di dekat button6 terdapat gambar yang kosong, maka setelah button6 diklik, button6 tersebut akan berpindah ke posisi gambar yang kosong sehingga gambar dapat bergeser. Pemindahan ini dibantu oleh properties backgroundimage dan text berupa data integer sehingga memudahkan dalam pemindahan menggunakan suatu source code.
Prinsip kerjanya adalah sebagai berikut: Ketika button6 diklik, kemungkinan yang terjadi adalah gambar backgroundimage berpindah ke button3, button5 atau ke button9. Jika button3 bertukar dengan button6, maka, pada button6, variable gambar adalah button3.backgroundimage sehingga nanti button6.backgroundimage sama dengan button3.backgroundimage. Namun button3.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button6.backgroundimage dengan button3.backgroundimage.
Jika button6 bertukar dengan button5, maka, pada button6, variable gambar adalah button6.backgroundimage sehingga nanti button6.backgroundimage sama dengan button5.backgroundimage. Namun button5.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button6.backgroundimage dengan button5.backgroundimage.
Begitu pula jika button6 bertukar dengan button9, maka, pada button6, variable gambar adalah button6.backgroundimage sehingga nanti button6.backgroundimage sama dengan button9.backgroundimage. Namun button9.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button6.backgroundimage dengan button9.backgroundimage.
Selain itu, listing di bawah ini juga berisi jika kita berhasil memenangkan game, maka gambar 9 otomatis muncul dan akan memunculkan message box yang berisi ucapan selamat dan setiap puzzle otomatis tidak dapat diklik lagi karena game sudah selesai, yaitu dengan menggunakan bantuan operator percabangan if.
    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        If Button4.Text = "" Then
            Gambar = Button7.BackgroundImage
            Button7.BackgroundImage = Button4.BackgroundImage
            Button4.BackgroundImage = Gambar
            Angka = Button7.Text
            Button7.Text = Button4.Text
            Button4.Text = Angka
        ElseIf Button8.Text = "" Then
            Gambar = Button7.BackgroundImage
            Button7.BackgroundImage = Button8.BackgroundImage
            Button8.BackgroundImage = Gambar
            Angka = Button7.Text
            Button7.Text = Button8.Text
            Button8.Text = Angka
        End If
        If Button1.Text = "1" And Button2.Text = "2" And Button3.Text = "3" And
       Button4.Text = "4" And Button5.Text = "5" And Button6.Text = "6" And
       Button7.Text = "7" And Button8.Text = "8" Then
            Button9.BackgroundImage = Form4.Button1.BackgroundImage
            MsgBox("Congratulation, you win the game :) ", vbInformation, "play")
            Button10.Enabled = True
            Button11.Enabled = True
            Button1.Enabled = False
            Button2.Enabled = False
            Button3.Enabled = False
            Button4.Enabled = False
            Button5.Enabled = False
            Button6.Enabled = False
            Button7.Enabled = False
            Button8.Enabled = False
            Button9.Enabled = False
            Button10.Enabled = False
            Button11.Enabled = False
            Button12.Enabled = False
        End If
    End Sub
Listing ini digunakan dalam pemindahan puzzle jika salah satu button di dekat button7 terdapat gambar yang kosong, maka setelah button7 diklik, button7 tersebut akan berpindah ke posisi gambar yang kosong sehingga gambar dapat bergeser. Pemindahan ini dibantu oleh properties backgroundimage dan text berupa data integer sehingga memudahkan dalam pemindahan menggunakan suatu source code. 
Prinsip kerjanya adalah sebagai berikut: Ketika button7 diklik, kemungkinan yang terjadi adalah gambar backgroundimage berpindah ke button4 atau ke button 8. Jika button7 bertukar dengan button4, maka, pada button4, variable gambar adalah button7.backgroundimage sehingga nanti button7.backgroundimage sama dengan button4.backgroundimage. Namun button7.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button7.backgroundimage dengan button4.backgroundimage.
Begitu pula jika button7 bertukar dengan button8, maka, pada button7, variable gambar adalah button7.backgroundimage sehingga nanti button7.backgroundimage sama dengan button8.backgroundimage. Namun button4.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button7.backgroundimage dengan button8.backgroundimage.
Selain itu, listing di bawah ini juga berisi jika kita berhasil memenangkan game, maka gambar 9 otomatis muncul dan akan memunculkan message box yang berisi ucapan selamat dan setiap puzzle otomatis tidak dapat diklik lagi karena game sudah selesai, yaitu dengan menggunakan bantuan operator percabangan if.

    Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        If Button7.Text = "" Then
            Gambar = Button8.BackgroundImage
            Button8.BackgroundImage = Button7.BackgroundImage
            Button7.BackgroundImage = Gambar
            Angka = Button8.Text
            Button8.Text = Button7.Text
            Button7.Text = Angka
        ElseIf Button5.Text = "" Then
            Gambar = Button8.BackgroundImage
            Button8.BackgroundImage = Button5.BackgroundImage
            Button5.BackgroundImage = Gambar
            Angka = Button8.Text
            Button8.Text = Button5.Text
            Button5.Text = Angka
        ElseIf Button9.Text = "" Then
            Gambar = Button8.BackgroundImage
            Button8.BackgroundImage = Button9.BackgroundImage
            Button9.BackgroundImage = Gambar
            Angka = Button8.Text
            Button8.Text = Button9.Text
            Button9.Text = Angka

        End If
        If Button1.Text = "1" And Button2.Text = "2" And Button3.Text = "3" And
       Button4.Text = "4" And Button5.Text = "5" And Button6.Text = "6" And
       Button7.Text = "7" And Button8.Text = "8" Then
            Button9.BackgroundImage = Form4.Button1.BackgroundImage
            MsgBox("Congratulation, you win the game :) ", vbInformation, "play")
            Button10.Enabled = True
            Button11.Enabled = True
            Button1.Enabled = False
            Button2.Enabled = False
            Button3.Enabled = False
            Button4.Enabled = False
            Button5.Enabled = False
            Button6.Enabled = False
            Button7.Enabled = False
            Button8.Enabled = False
            Button9.Enabled = False
            Button10.Enabled = False
            Button11.Enabled = False
            Button12.Enabled = False
        End If
    End Sub
Listing ini digunakan dalam pemindahan puzzle jika salah satu button di dekat button8 terdapat gambar yang kosong, maka setelah button8 diklik, button8 tersebut akan berpindah ke posisi gambar yang kosong sehingga gambar dapat bergeser. Pemindahan ini dibantu oleh properties backgroundimage dan text berupa data integer sehingga memudahkan dalam pemindahan menggunakan suatu source code. 
Prinsip kerjanya adalah sebagai berikut: Ketika button8 diklik, kemungkinan yang terjadi adalah gambar backgroundimage berpindah ke button7, button5 atau ke button 9. Jika button8 bertukar dengan button7, maka, pada button8, variable gambar adalah button8.backgroundimage sehingga nanti button7.backgroundimage sama dengan button8.backgroundimage. Namun button7.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button8.backgroundimage dengan button1.backgroundimage.
Jika button8 bertukar dengan button5, maka, pada button8, variable gambar adalah button8.backgroundimage sehingga nanti button8.backgroundimage sama dengan button5.backgroundimage. Namun button5.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button8.backgroundimage dengan button5.backgroundimage.
Begitu pula jika button8 bertukar dengan button4, maka, pada button9, variable gambar adalah button8.backgroundimage sehingga nanti button8.backgroundimage sama dengan button9.backgroundimage. Namun button9.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button8.backgroundimage dengan button9.backgroundimage.
Selain itu, listing di bawah ini juga berisi jika kita berhasil memenangkan game, maka gambar 9 otomatis muncul dan akan memunculkan message box yang berisi ucapan selamat dan setiap puzzle otomatis tidak dapat diklik lagi karena game sudah selesai, yaitu dengan menggunakan bantuan operator percabangan if.

    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        If Button6.Text = "" Then
            Gambar = Button9.BackgroundImage
            Button9.BackgroundImage = Button6.BackgroundImage
            Button6.BackgroundImage = Gambar
            Angka = Button9.Text
            Button9.Text = Button6.Text
            Button6.Text = Angka
        ElseIf Button8.Text = "" Then
            Gambar = Button9.BackgroundImage
            Button9.BackgroundImage = Button8.BackgroundImage
            Button8.BackgroundImage = Gambar
            Angka = Button9.Text
            Button9.Text = Button8.Text
            Button8.Text = Angka
        End If
        If Button1.Text = "1" And Button2.Text = "2" And Button3.Text = "3" And
       Button4.Text = "4" And Button5.Text = "5" And Button6.Text = "6" And
       Button7.Text = "7" And Button8.Text = "8" Then
            Button9.BackgroundImage = Form4.Button1.BackgroundImage
            MsgBox("Congratulation, you win the game :) ", vbInformation, "play")
            Button10.Enabled = True
            Button11.Enabled = True
            Button1.Enabled = False
            Button2.Enabled = False
            Button3.Enabled = False
            Button4.Enabled = False
            Button5.Enabled = False
            Button6.Enabled = False
            Button7.Enabled = False
            Button8.Enabled = False
            Button9.Enabled = False
            Button10.Enabled = False
            Button11.Enabled = False
            Button12.Enabled = False
        End If
    End Sub
Listing ini digunakan dalam pemindahan puzzle jika salah satu button di dekat button9 terdapat gambar yang kosong, maka setelah button9 diklik, button9 tersebut akan berpindah ke posisi gambar yang kosong sehingga gambar dapat bergeser. Pemindahan ini dibantu oleh properties backgroundimage dan text berupa data integer sehingga memudahkan dalam pemindahan menggunakan suatu source code. 
Prinsip kerjanya adalah sebagai berikut: Ketika button9 diklik, kemungkinan yang terjadi adalah gambar backgroundimage berpindah ke button8 atau ke button6. Jika button9 bertukar dengan button8, maka, pada button9, variable gambar adalah button9.backgroundimage sehingga nanti button9.backgroundimage sama dengan button8.backgroundimage. Namun button8.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button8.backgroundimage dengan button9.backgroundimage.
Begitu pula jika button9 bertukar dengan button6, Jika button9 bertukar dengan button6, maka, pada button9, variable gambar adalah button9.backgroundimage sehingga nanti button9.backgroundimage sama dengan button6.backgroundimage. Namun button6.background nantinya adalah variabel gambar sehingga terjadi pertukaran antara button9.backgroundimage dengan button6.backgroundimage.
Selain itu, listing di bawah ini juga berisi jika kita berhasil memenangkan game, maka gambar 9 otomatis muncul dan akan memunculkan message box yang berisi ucapan selamat dan setiap puzzle otomatis tidak dapat diklik lagi karena game sudah selesai, yaitu dengan menggunakan bantuan operator percabangan if.

    Private Sub Timer1_tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Gambar = Button9.BackgroundImage
        Button9.BackgroundImage = Button4.BackgroundImage
        Button4.BackgroundImage = Gambar
        Angka = Button9.Text
        Button9.Text = Button4.Text
        Button4.Text = Angka

        Gambar = Button9.BackgroundImage
        Button9.BackgroundImage = Button3.BackgroundImage
        Button3.BackgroundImage = Gambar
        Angka = Button9.Text
        Button9.Text = Button3.Text
        Button3.Text = Angka

        Gambar = Button2.BackgroundImage
        Button2.BackgroundImage = Button7.BackgroundImage
        Button7.BackgroundImage = Gambar
        Angka = Button2.Text
        Button2.Text = Button7.Text
        Button7.Text = Angka

        Gambar = Button2.BackgroundImage
        Button2.BackgroundImage = Button6.BackgroundImage
        Button6.BackgroundImage = Gambar
        Angka = Button2.Text
        Button2.Text = Button6.Text
        Button6.Text = Angka

        Gambar = Button3.BackgroundImage
        Button3.BackgroundImage = Button8.BackgroundImage
        Button8.BackgroundImage = Gambar
        Angka = Button3.Text
        Button3.Text = Button8.Text
        Button8.Text = Angka

        Gambar = Button3.BackgroundImage
        Button3.BackgroundImage = Button1.BackgroundImage
        Button1.BackgroundImage = Gambar
        Angka = Button3.Text
        Button3.Text = Button1.Text
        Button1.Text = Angka

        Gambar = Button5.BackgroundImage
        Button5.BackgroundImage = Button8.BackgroundImage
        Button8.BackgroundImage = Gambar
        Angka = Button5.Text
        Button5.Text = Button8.Text
        Button8.Text = Angka

        Gambar = Button5.BackgroundImage
        Button5.BackgroundImage = Button7.BackgroundImage
        Button7.BackgroundImage = Gambar
        Angka = Button5.Text
        Button5.Text = Button7.Text
        Button7.Text = Angka

        Gambar = Button6.BackgroundImage
        Button6.BackgroundImage = Button1.BackgroundImage
        Button1.BackgroundImage = Gambar
        Angka = Button6.Text
        Button6.Text = Button1.Text
        Button1.Text = Angka

    End Sub
Listing berikut berisi prosedur tentang pengaturan/kondisi bagaimana cara pengacakan puzzle di mana kondisi source code ini mengatur timer. Jadi setiap detiknya, backgroundimage dan text dalam button akan saling berpindah dan menukar dengan button lain.

    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        Button1.Enabled = True
        Button2.Enabled = True
        Button3.Enabled = True
        Button4.Enabled = True
        Button5.Enabled = True
        Button6.Enabled = True
        Button7.Enabled = True
        Button8.Enabled = True
        Button9.Enabled = True
        Button11.Enabled = True

        Timer1.Enabled = True
        acak = Rnd() * 10
    End Sub

    Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
        Button9.BackgroundImage = i
        Button10.Enabled = True

    End Sub

    Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
        Me.Hide()
        Form5.Show()
    End Sub

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        Timer1.Enabled = False

        Button10.Enabled = False
        Button11.Enabled = False
        Button12.Enabled = True
        Button13.Enabled = True
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        a = Button1.BackgroundImage
        b = Button2.BackgroundImage
        c = Button3.BackgroundImage
        d = Button4.BackgroundImage
        j = Button5.BackgroundImage
        f = Button6.BackgroundImage
        g = Button7.BackgroundImage
        h = Button8.BackgroundImage
        i = Button9.BackgroundImage

        Button1.Enabled = False
        Button2.Enabled = False
        Button3.Enabled = False
        Button4.Enabled = False
        Button5.Enabled = False
        Button6.Enabled = False
        Button7.Enabled = False
        Button8.Enabled = False
        Button9.Enabled = False
        Button10.Enabled = False
        Button11.Enabled = False
        Button12.Enabled = False
        Button13.Enabled = False
      
      
    End Sub

    Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
        Me.Hide()
        Form3.Show()
    End Sub

    Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
        Button1.Text = "1"
        Button2.Text = "2"
        Button3.Text = "3"
        Button4.Text = "4"
        Button5.Text = "5"
        Button6.Text = "6"
        Button7.Text = "7"
        Button8.Text = "8"
        Button9.Text = ""
        Button1.BackgroundImage = a
        Button2.BackgroundImage = b
        Button3.BackgroundImage = c
        Button4.BackgroundImage = d
        Button5.BackgroundImage = j
        Button6.BackgroundImage = f
        Button7.BackgroundImage = g
        Button8.BackgroundImage = h
        Button9.BackgroundImage = i

        Button1.Enabled = False
        Button2.Enabled = False
        Button3.Enabled = False
        Button4.Enabled = False
        Button5.Enabled = False
        Button6.Enabled = False
        Button7.Enabled = False
        Button8.Enabled = False
        Button9.Enabled = False
        Button10.Enabled = False
        Button11.Enabled = False
    End Sub
End Class

PADA FORM 3
Public Class Form3

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        Me.Hide()
        Form2.Show()
    End Sub
End Class

PADA FORM 5
Public Class Form5

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        Me.Hide()
        Form2.Show()
    End Sub
Listing ini digunakan untuk memunculkan form2 yang berisi tentang  menu permainan aplikasi game. Form2.show digunakan untuk menampilkan form2 dan me.hide digunakan untuk menyembunyikan form5

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If MsgBox("Anda yakin akan keluar", vbYesNo + vbQuestion + vbDefaultButton2, "Keluar") = vbYes Then
            Me.Close()
        End If
    End Sub
Listing ini digunakan untuk keluar dari aplikasi game puzzle. Apabila memilih yes, maka keluar dari game dan apabila memilih no maka tetap pada form5, yaitu dengan menerapkan fungsi operator percabangan if

End Class

2 komentar:

BAYU
29 Desember 2012 pukul 13.09.00 GMT+7
Komentar ini telah dihapus oleh pengarang.
Unknown
11 Desember 2018 pukul 08.48.00 GMT+7

form 1 dimana?

Posting Komentar