Game Tebak Angka Rahasia Komputer

0 komentar

Kali ini admin akan berbagi sebuah kode game sederhana, game yang kita mainkan ini adalah dengan cara menebak angka rahasia yang telah diacak komputer.

Dalam game ini komputer akan mengacak angka 1-100, kita dituntut untuk menebaknya yang sudah diacak oleh komputer. Kesempatan untuk menebak sebanyak 7x

Berikut adalah screnshoot gambar dari game tebak angka rahsia :




Berikut adalah langkah-langkah pembuatan game tebak angka rahasia dengan menggunakan vb 6 :
  1. Buka Form VB6 Standar EXE
  2. Desainlah Form1 persis dibawah ini :
Desain Form

Keterangan  :
Command1 Caption Tebak
Command2 Caption Ulangi
Command, Label dan Text name nya default

Jika sudah mendesain seperti gambar diatas, lalu copy paste kode dibawah ini :

Dim angkaRahasia As Integer
Dim jumlahTebakan As Integer
Dim skor As Integer
Const MAX_TEBakan As Integer = 7

Private Sub Form_Load()
    MulaiGame
End Sub

Private Sub MulaiGame()
    Randomize
    angkaRahasia = Int(Rnd * 100) + 1
    jumlahTebakan = 0
    skor = 0

    Label1.Caption = "Komputer sudah memilih angka 1 - 100. Coba tebak angka berapa?!"
    Label2.Caption = "Sisa Tebakan: " & MAX_TEBakan
    Label3.Caption = "Skor: 0"
    Text1.Text = ""
    Text1.Enabled = True
    Command1.Enabled = True
End Sub
Private Sub Command1_Click()
    Dim tebakan As Integer

    If IsNumeric(Text1.Text) = False Then
        MsgBox "Masukkan angka yang valid!", vbExclamation
        Text1.SetFocus
        Exit Sub
    End If

    tebakan = Val(Text1.Text)
    jumlahTebakan = jumlahTebakan + 1
    Label2.Caption = "Sisa Tebakan: " & (MAX_TEBakan - jumlahTebakan)

    If tebakan < angkaRahasia Then
        Label1.Caption = "Angka " & Text1.Text & " Terlalu kecil. Coba lagi."
    ElseIf tebakan > angkaRahasia Then
        Label1.Caption = "Angka " & Text1.Text & " Terlalu besar. Coba lagi."
    Else
        skor = (MAX_TEBakan - jumlahTebakan + 1) * 10
        Label3.Caption = "Skor: " & skor
        Label1.Caption = "Selamat! Jawaban benar."
        Text1.Enabled = False
        Command1.Enabled = False
        Exit Sub
    End If

    If jumlahTebakan >= MAX_TEBakan Then
        Label1.Caption = "GAME OVER! Angka yang benar adalah " & angkaRahasia
        Text1.Enabled = False
        Command1.Enabled = False
    End If
        
End Sub

Private Sub Command2_Click()
    MulaiGame
End Sub

Setelah mengcopi paste diatas sekarang jalankan project Anda

Membuat Game Ular Lagend dengan Visual Basic .0 (VB6)

Pada pertemuan kali ini Admin akan berbagi sebuah kode untuk membuat sebuah permainan Game yaitu Game Ular (Snake Game).

Game ini pernah populer di era tahun 90an dan menjadi legenda hingga sekarang. Bagi Anda yang kelahiran tahun 80an game ini udah gak asing lagi, kala itu game ini dapat disewakan dalam bentuk Game Board.

Cara bermain Game ini adalah ular bergerak mencari makanan, pergerakan di kontrol oleh kita dengan menggerakan ular ke arah makanan untuk dimakan, ular akan bertambah panjang jika berhasil memakan makanannya, jika ular ini menabrak dinding atau menabrak dirinya sendiri maka "Game Over".Kecepatan akan bertambah sesuai level, setiap level bernilai 50.

Berikut adalah screen shoot dari Game Ular :

Game Ular

Untuk membuat Game ini sangat mudah, Anda tak perlu pusing-pusing membuat kodenya cukup tinggal copy-paste dalam kode Form General-Declaration.

Sebelum anda mencopy-paste kodenya terlebih dahulu anda wajib membuat form desainnya dengan cara :
  1. Buka Form vb6 Anda
  2. Tanamkan beberapa control yaitu 2 Label dan 1 Timer (semua control tidak perlu mengatur Propertiesnya)
  3. Desain formnya seperti dibawah ini :
Desain Form

Lalu copykan kode dibawah ini di bagian General Declaration (pastikan kode dalam keadaan bersih) :

'Deklarasi variabel
Const gridSize = 20
Const maxBody = 1000

Dim snakeX(maxBody) As Integer
Dim snakeY(maxBody) As Integer
Dim snakeLength As Integer

Dim dirX As Integer
Dim dirY As Integer

Dim foodX As Integer
Dim foodY As Integer

Dim score As Integer
Dim isGameOver As Boolean

Dim level As Integer
'ketika di load dilayar
Private Sub Form_Load()
    Me.ScaleMode = vbPixels
    Me.BackColor = vbBlack
    Timer1.Interval = 100
    Form1.KeyPreview = True
    Label1.BackColor = vbBlack
    Label1.ForeColor = vbWhite
    Label2.BackColor = vbBlack
    Label2.ForeColor = vbWhite
    Call StartGame
End Sub
'inisial game
Private Sub StartGame()
    Dim i As Integer

    snakeLength = 3
    For i = 0 To snakeLength
        snakeX(i) = 20 + (snakeLength - i) * gridSize
        snakeY(i) = 20
    Next

    dirX = gridSize
    dirY = 0

    score = 0
    level = 1
    Timer1.Interval = 1500
    isGameOver = False
    
    Label1.Caption = "Score : 0"
    Label2.Caption = "Level : 1"
    Call GenerateFood
    Timer1.Enabled = True
End Sub
'membuat makanan ular
Private Sub GenerateFood()
    Randomize
    foodX = Int(Rnd * (Me.ScaleWidth \ gridSize)) * gridSize
    foodY = Int(Rnd * (Me.ScaleHeight \ gridSize)) * gridSize
End Sub
'kontrol arah pada keyboard
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyLeft
            If dirX = 0 Then dirX = -gridSize: dirY = 0
        Case vbKeyRight
            If dirX = 0 Then dirX = gridSize: dirY = 0
        Case vbKeyUp
            If dirY = 0 Then dirY = -gridSize: dirX = 0
        Case vbKeyDown
            If dirY = 0 Then dirY = gridSize: dirX = 0
    End Select
End Sub
Private Sub Timer1_Timer()
    If isGameOver Then Exit Sub

    ' Gerakkan badan ular
    Dim i As Integer
    For i = snakeLength To 1 Step -1
        snakeX(i) = snakeX(i - 1)
        snakeY(i) = snakeY(i - 1)
    Next

    ' Kepala ular
    snakeX(0) = snakeX(0) + dirX
    snakeY(0) = snakeY(0) + dirY

    ' Cek tabrakan dengan dinding
    If snakeX(0) < 0 Or snakeY(0) < 0 Or _
       snakeX(0) >= Me.ScaleWidth Or _
       snakeY(0) >= Me.ScaleHeight Then
        Call GameOver
        Exit Sub
    End If

    ' Cek tabrakan dengan badan sendiri
    For i = 1 To snakeLength
        If snakeX(0) = snakeX(i) And snakeY(0) = snakeY(i) Then
            Call GameOver
            Exit Sub
        End If
    Next

    ' Cek makan makanan
    If snakeX(0) = foodX And snakeY(0) = foodY Then
        snakeLength = snakeLength + 1
        score = score + 10
        Label1.Caption = "Score: " & score
        
        ' Tambahkan: cek level
        Dim newLevel As Integer
        newLevel = (score \ 50) + 1
        If newLevel > level Then
        level = newLevel
        Label2.Caption = "Level: " & level

        ' Percepat timer (batas minimal 30 ms)
        If Timer1.Interval > 30 Then
            Timer1.Interval = Timer1.Interval - 10
        End If
    End If
        Call GenerateFood
    End If

    Me.Cls
    Call DrawSnake
    Call DrawFood
End Sub
Private Sub DrawSnake()
    Dim i As Integer
    For i = 0 To snakeLength
        Me.ForeColor = vbGreen
        Me.FillStyle = vbSolid
        Me.Line (snakeX(i), snakeY(i))-Step(gridSize - 1, gridSize - 1), vbGreen, BF
    Next
End Sub
Private Sub DrawFood()
    Me.ForeColor = vbRed
    Me.FillStyle = vbSolid
    Me.Line (foodX, foodY)-Step(gridSize - 1, gridSize - 1), vbRed, BF
End Sub
Private Sub GameOver()
    Timer1.Enabled = False
    isGameOver = True
    MsgBox "Game Over! Skor kamu: " & score, vbExclamation, "Ulangi"
    Call StartGame ' Untuk restart otomatis
End Sub

Simpan Project Anda, jalankan program dan selamat bermain


Membuat Game Tangkap Objek Jatuh dengan VB6

0 komentar

Kali ini Admin akan berbagi sebuah kode untuk membuat sebuah Game sederhana yaitu Game Tangkap Objek Jatuh. Dalam postingan ini Saya membuat objeknya dengan menggunakan PictureBox, Anda bisa mengisinya dengan gambar, misalnya gambar keranjang untuk bagian bawah dan gambar buah untuk objek jatuh.

Berikut adalah ilustrasi game yang sudah jadi :

Output

Berkut dibawah ini adalah komponen-komponen yang dibutuhkan dalam pembuatan Game ini :

Komponen     NamaFungsi
PictureBoxpicObjek     Objek yang jatuh
PictureBoxpicPlayer     "Keranjang" di bawah
Label               lblScore     Menampilkan skor
TimerTimer1     Untuk membuat objek jatuh




Desainlah Form seperti gambar dibawah ini :

Desain Form

Copykan kode dibawah ini di form kosong :

Dim speedY As Integer

Dim score As Integer


Private Sub Form_Load()

' Atur posisi awal objek

    Randomize

    speedY = 100

    score = 0

    lblScore.Caption = "0"

    Call ResetObjek

    Timer1.Enabled = True

    KeyPreview = True

    Timer1.Interval = 100

End Sub


Private Sub ResetObjek()

    picObjek.Top = 0

    picObjek.Left = Int(Rnd * (Me.ScaleWidth - picObjek.Width))

End Sub


Private Sub Timer1_Timer()

    picObjek.Top = picObjek.Top + speedY


    ' Cek tabrakan dengan player

    If picObjek.Top + picObjek.Height >= picPlayer.Top Then

        If picObjek.Left + picObjek.Width >= picPlayer.Left And _

           picObjek.Left <= picPlayer.Left + picPlayer.Width Then


            score = score + 1

            lblScore.Caption = score

            Form1.Caption = "Skor Anda : " & score

            Call ResetObjek

        End If

    End If


    ' Jika objek lewat bawah, ulangi lagi

    If picObjek.Top > Me.ScaleHeight Then

        Call ResetObjek

    End If

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

    Const gerak As Integer = 300


    Select Case KeyCode

        Case vbKeyLeft

            If picPlayer.Left > 0 Then

                picPlayer.Left = picPlayer.Left - gerak

            End If

        Case vbKeyRight

            If picPlayer.Left + picPlayer.Width < Me.ScaleWidth Then

                picPlayer.Left = picPlayer.Left + gerak

            End If

    End Select

End Sub

Jalnkan kode program Anda


Membuat Efek Garis Pelangi Mengikuti Qursor dengan VB6

0 komentar

Kali ini Admin akan berbagi kode untuk membuat efek garis rainbow pada mouse ketika digerakan, cara kerjanya adalah dengan menggerakan mouse maka secara otomatis kemanapun mouse melagkah angkat terbentuk garis rainbow warna pelangi, untuk membuat sangat gampang cukup copy-paste kode dibawah ini :

Mouse Rainbow


' Variabel untuk menyimpan posisi terakhir mouse
Dim lastX As Single
Dim lastY As Single

Private Sub Form_Load()
    Me.AutoRedraw = True
    Me.ScaleMode = 3 ' Pixel
    Command1.Caption = "Clear"
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ' Gambar garis dari posisi sebelumnya ke posisi saat ini
    If lastX <> 0 And lastY <> 0 Then
        ' Ganti warna agar terlihat keren
        Dim warna As Long
        warna = RGB(Rnd * 255, Rnd * 255, Rnd * 255) ' Warna acak
        Me.Line (lastX, lastY)-(X, Y), warna
    End If
    
    lastX = X
    lastY = Y
End Sub

Private Sub Command1_Click()
    Me.Cls ' Hapus semua gambar di Form
    lastX = 0
    lastY = 0
End Sub

Catatan :
Jangan lupa tambahkan 1 Commannbutton pada form

Membuat Generator Kalender Dengan VB6

Kali ini Admin akan berbagi sebuah kode yang berfungsi untuk untuk meng-Generate sebuah kalender dengan bulan dan tahun yang Anda inginkan.

Dibawah ini adalah gambar hasil screenshoot kode yang sudah dijalankan :

Generator Kalende vb6

Berikut dibawah ini adalah langkah-langkah pembuatan Generator Kalender dengan menggunakan vb6 :

1. Buka Form VB6 Standar EXE

2. Tambahkan control MSFlexGrid, dengan cara :

Tekan Project >>Component atau CTRL+T , pilih Microsoft FlexGrid Control 6.0 kemudian Apply dan OK

3. Tanamkan MSFlexGrid kedalam Form dan atur lebar dan tinggi sesuai kebutuhan

4. Tambahkan 2 ComboBox dengan masing-masing sebagai berikut :

ComboBox1 dengan Name cmbTahun

ComboBox2 dengan Name cmbBulan

5. Tambahkan 1 CommandButton dengan Name cmdGenerate

6. Desainlah Form seperti Gambar dibawah ini :

Desain Form


7. Langkah terakhir adalah ketika kode dibawah ini :

Private Sub cmdGenerate_Click()
    Dim bulan As Integer, tahun As Integer
    Dim tglAwal As Date
    Dim hariAwal As Integer
    Dim jumlahHari As Integer
    Dim i As Integer
    Dim baris As Integer
    Dim kolom As Integer
    
    bulan = cmbBulan.ListIndex + 1
    tahun = Val(cmbTahun.Text)
    
    If tahun < 1 Then
        MsgBox "Tahun tidak valid!", vbExclamation
        Exit Sub
    End If
    
    ' Tanggal awal bulan
    tglAwal = DateSerial(tahun, bulan, 1)
    hariAwal = Weekday(tglAwal, vbSunday) - 1 ' 0=Sunday
    jumlahHari = Day(DateSerial(tahun, bulan + 1, 1) - 1)
    
    ' Bersihkan grid
    For baris = 1 To 6
        For kolom = 0 To 6
            grdKalender.TextMatrix(baris, kolom) = ""
        Next kolom
    Next baris
    
    ' Isi tanggal ke dalam grid
    baris = 1
    kolom = hariAwal
    For i = 1 To jumlahHari
        grdKalender.TextMatrix(baris, kolom) = i
        kolom = kolom + 1
        If kolom > 6 Then
            kolom = 0
            baris = baris + 1
        End If
    Next i
End Sub
Private Sub Form_Load()
'membuat urutan bulan
    cmbBulan.AddItem "Januari"
    cmbBulan.AddItem "Februari"
    cmbBulan.AddItem "Maret"
    cmbBulan.AddItem "April"
    cmbBulan.AddItem "Mei"
    cmbBulan.AddItem "Juni"
    cmbBulan.AddItem "Juli"
    cmbBulan.AddItem "Agustus"
    cmbBulan.AddItem "September"
    cmbBulan.AddItem "Oktober"
    cmbBulan.AddItem "November"
    cmbBulan.AddItem "Desember"
    
'membuat urutan tahun
    Dim tahunSekarang As Integer
    Dim i As Integer

    tahunSekarang = Year(Date) ' ambil tahun saat ini
    
    For i = 1980 To tahunSekarang
        cmbTahun.AddItem i
    Next i

    cmbTahun.ListIndex = cmbTahun.ListCount - 1 ' default ke tahun sekarang

'ambil urutan tahun dan bulan di combobox
    cmbBulan.ListIndex = Month(Date) - 1
    cmbTahun.Text = Year(Date)
    
    ' Siapkan Grid
    With grdKalender
        .Cols = 7
        .Rows = 7
        .FixedRows = 1
        .TextMatrix(0, 0) = "Minggu"
        .TextMatrix(0, 1) = "Senin"
        .TextMatrix(0, 2) = "Selasa"
        .TextMatrix(0, 3) = "Rabu"
        .TextMatrix(0, 4) = "Kamis"
        .TextMatrix(0, 5) = "Jumat"
        .TextMatrix(0, 6) = "Sabtu"
    End With
End Sub

Setelah mengetikan kode seperti diatas jalankan Project Anda kemudian uji dengan memilih tahun dan bulan yang Anda inginkan pada combobox dan tekan Generate, maka akan menampilkan bulan dan tahun yang Anda pilih dalam bentuk kalender.