Jumat, 07 Desember 2012

Tutorial Pembuatan Program Game Kasino

Pernahkah kamu ingin membuat suatu permainan sederhana? Berikut adalah suatu game kasino yang dibuat dengan Visual Basic 2010. Program ini sangatlah sederhana dan mudah dibuat.

Pertama buka Visual Basic 2010 dan pada form1 buatlah tampilan seperti berikut

Lalu tambahkan form2 dan buat tampilan seperti berikut

Pada form 2 tambahkan timer yang dapat ditambahkan dari toolbox.

Lalu tambahkan form3 dan buat tampilan seperti berikut

Pada bagian atas terdapat 3 picturebox yang di sembunyika dengan mengubah property visible nya yang awalnya true menjadi false. Lalu tambahkan timer dan imagelist. Untuk warna dan huruf bisa kamu sesuaikan sendiri dengan mengubah propertiesnya.

Setelah semuanya selesai, masukkan listing berikut pada form yang bersangkutan :
Public Class Form1

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

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

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class
Keterangan : Listing code diatas digunakan untuk menampilkan form2 (Acak Angka) atau form3(acak gambar)

Acak Angka
Public Class Form2
    Sub Putaran()
        Label1.Text = CStr(Int(Rnd() * 10))
        Label2.Text = CStr(Int(Rnd() * 10))
        Label3.Text = CStr(Int(Rnd() * 10))
    End Sub
Keterangan : Listing code ini digunakan untuk mengambil angka acak dari 1-10 untuk label1, label2 dan label3

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Call Putaran()
        If Label5.Text = 1 Then Button1.Enabled = False
        Label5.Text = Val(Label5.Text - 1)
        Timer1.Enabled = True
        Label1.Text = ""
        Label2.Text = ""
        Label3.Text = ""

        Button1.Enabled = False
        Button2.Enabled = False
        Button3.Enabled = False
        Button5.Enabled = False

        If Label5.Text = "0" Then
            Timer1.Enabled = False
            MsgBox("GAME OVER")
            Button4.Enabled = False
            Button2.Enabled = True
            Button3.Enabled = True
            Button5.Enabled = True
        End If
       
    End Sub
Keterangan : Listing ini merupakan listing code yang berjalan ketika pengguna menekan tombol “Start”. Listing ini akan menjalankan perintah sub “putaran”, mengecek label5.text yang merupakan nyawa dan mengunci tombol.
Jika label5.text yang merupakan nyawa dalam permainan ini = 0 maka akan ditampilkan msgbox(“Game Over”) dan mengunci tombol lain kecuali restart, exit dan kembali ke menu. Jika belum 0 maka permainan akan dilanjutkan.

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Timer1.Enabled = False
        If (Label1.Text = Label2.Text) Or Label2.Text = Label3.Text Or Label1.Text = Label3.Text Then
MessageBox.Show("CONGRATULATIONS YOU WIN")
Label5.text= val(label5.text) +1
Else : msgbox(“Try Again”)

        If Label5.Text = 0 Then
            MsgBox("GAME OVER")
        End If
        Button1.Enabled = True
        Button2.Enabled = True
        Button3.Enabled = True
        Button5.Enabled = True
    End Sub
Keterangan : Listing ini merupakan listing code yang akan berjalan ketika pengguna menekan tombol “Stop”. Listing ini akan menghentikan pengacakan angka dan mengecek hsail pengacakan angka, apabila ada 2 angka kembar maka akan keluar message box (“Congratulation You Win”) dan sebaliknya message box (“Try Again”). Dia juga akan mengecek apabila nyawa telah habis maka akan ditampilkan message box (“Game Over”).
Jika text pada label 1 sama dengan label 2 atau label 3 sama dengan label 1 dan label 2 sama dengan label 3 maka akan ditampilkan msgbox(“Congratulation You Win”) dan label 5 yang merupakan nyawa pengguna akan ditambah 1, jika tidak maka akan ditampilkan msgbox(“Try Again”).
Jika saat tombol ini ditekan dan kondisi nyawa = 0 maka akan ditampilkan msgbox(“Game Over”)

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Label5.Text = 6
        Button1.Enabled = True
    End Sub
Keterangan : Listing ini merupakan listing code yang akan berjalan ketika pengguna menekan tombol “Restart”. Ini akan mengembalikan nilai nyawa kembali dari awal yaitu 6 dan mengaktifkan tombol start kembali

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Close()
    End Sub
Keterangan : Listing ini merupakan listing code yang akan berjalan ketika pengguna menekan tombol “Exit”. Ini akan menutup program.

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Call Putaran()
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Label5.Text = 6
        Me.Hide()
        Form1.Show()
    End Sub
End Class

Keterangan : Listing ini merupakan listing code yang akan berjalan ketika pengguna menekan tombol “Kembali ke menu”. Ini akan menutup form2 dan membuka kembali ke form1.



Acak Gambar
Public Class Form3
    Dim x, a, b, c As Integer

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        x = x + 1
        If x < 1000 Then
            a = Int(Rnd() * 4)
            b = Int(Rnd() * 4)
            c = Int(Rnd() * 4)
            Select Case a
                Case 1
                    PictureBox1.Image = ImageList1.Images.Item(0)
                Case 2
                    PictureBox1.Image = ImageList1.Images.Item(1)
                Case 3
                    PictureBox1.Image = ImageList1.Images.Item(2)


            End Select
            Select Case b
                Case 1
                    PictureBox2.Image = ImageList1.Images.Item(0)
                Case 2
                    PictureBox2.Image = ImageList1.Images.Item(1)
                Case 3
                    PictureBox2.Image = ImageList1.Images.Item(2)


            End Select
            Select Case c
                Case 1
                    PictureBox3.Image = ImageList1.Images.Item(0)
                Case 2
                    PictureBox3.Image = ImageList1.Images.Item(1)
                Case 3
                    PictureBox3.Image = ImageList1.Images.Item(2)


            End Select
        End If
    End Sub
Keterangan : Listing ini merupakan listing code yang digunakan untuk mengambil 1 gambar acak untuk masing – masing picturebox. Jadi tiap timer ini berdetik dia akan menjalankan listing code ini untuk mengacak gambar.
Jika (selama) x kurang dari 1000 maka dia akan mengambil angka acak untuk variabel a,b,c sehingga a,b,c nilainya antara 1 – 4. Lalu untuk a apabila terambil angka 1 maka gambar pada picturebox 1 akan ditampilkan gambar dari imagelist 1 yang item ke 0, apabila 2 maka item ke 1 dan apabila 3 maka item ke 2. Hal ini juga berlaku untuk b dan c. Listing ini hanya bisa mengacak sebanyak 999 kali selama 999 detik, apabila 1000 diganti dengan 2000 maka bisa mengacak sebanyak 1999 selama 1999 detik.

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Label2.Text = 1 Then Button1.Enabled = False
        Label2.Text = Val(Label2.Text - 1)
        Timer1.Enabled = True
        PictureBox1.Visible = "True"
        PictureBox2.Visible = "True"
        PictureBox3.Visible = "True"

        Button1.Enabled = False
        Button2.Enabled = False
        Button3.Enabled = False
        Button5.Enabled = False

        If Label2.Text = "0" Then
            Timer1.Enabled = False
            MsgBox("GAME OVER")
            Button4.Enabled = False
            Button2.Enabled = True
            Button3.Enabled = True
            Button5.Enabled = True
        End If
    End Sub
Keterangan : Listing ini merupakan listing code yang akan berjalan ketika pengguna menekan tombol “Start”. Ini akan menampilkan acakan, mengaktifkan tombol dan mengecek label2.text yang merupakan nyawa dalam permainan ini.

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Timer1.Enabled = False
        
        If a = b Or b = c Or a = c Then
            MsgBox("Congratulation!")
            Label2.Text = Val(Label2.Text) + 1
        Else : MsgBox("TRY AGAIN!")
        End If
        Button1.Enabled = True
        Button2.Enabled = True
        Button3.Enabled = True
        Button5.Enabled = True
    End Sub
Keterangan : Listing ini merupakan listing yang akan berjalan ketika pengguna menekan tombol “Stop”. Ini akan mennghentikan proses pengacakan yang merupakan perintah listing timer1 dan mengecek kondisi gambar. Apabila ada gambar yang sama maka akan ditampilkan message box (“Congratulation”), menambah nyawa 1 dan sebaliknya message box (“Try Again”) serta mengaktifkan tombol.
Jika nilai variabel a sama dengan b atau b sama dengan c atau a sama dengan c maka akan ditampilkan msgbox(“Congratulation”) dan label 2 yang merupakan nyawa akan ditambah 1, apabila tidak memenuhi kondisi ini maka akan ditampilkan msgbox(“Try Again”)

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Label2.Text = 6
    End Sub
Keterangan : Listing ini merupakan listing code yang akan berjalan ketika pengguna menekan tombol “restart”. Ini akan mengembalikan nyawa ke awal yaitu 6.

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Close()
    End Sub
Keterangan : Listing ini merupakan listing code yang akan berjalan ketika pengguna menekan tombol “Exit”. Ini akan menutup program.

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Label2.Text = 6
        Me.Hide()
        Form1.Show()
    End Sub
Keterangan : Listing ini merupakan listing code yang akan berjalan ketika pengguna menekan tombol “Kembali ke menu utama”. Ini akan menutup form3 dan menampilkan kembali form1.
End Class

Untuk flowchart dari program tersebut yaitu :



Nah mudah bukan? Selamat mencoba ^^


Tidak ada komentar:

Posting Komentar