Di tengah gempuran engine modern dan bahasa pemrograman kekinian, Visual Basic 6.0 (VB6) ternyata masih punya tempat tersendiri di hati banyak developer. Terutama bagi yang ingin bernostalgia sambil belajar logika pemrograman dasar lewat proyek ringan seperti Game sederhana. Yup, meski terkesan lawas, Game VB6 tetap asyik dibuat dan dimainkan, apalagi untuk tujuan edukasi atau sekadar iseng produktif di waktu luang.
Pada pertemuan sebelumnya beberapa hari yang lalu kita sudah mempelajari cara mencari angka yang duplikat dan dalam artikel itu juga disertakan kegunaan mengecek angka duplikat yang salah satunya adalah membuat Game dengan permainan yang berhubungan dengan angka.
Untuk dalam artikel kali ini Admin ingin menerapkan fungsi dari angka duplikat tersebut yang rancang dalam bentuk permainan Game yang saya beri nama Teka-Teki Angka 15.
 |
| Game Teka-Teki Angka 15 |
Konsep Dasar Game Sederhana di VB6
Logika Lebih Penting dari Grafis
Dalam dunia Game VB6, kekuatan utama ada pada logika permainan, bukan visual yang wah. Game sederhana biasanya fokus pada:
- Interaksi pengguna (klik tombol, input angka, dll)
- Pengolahan data dan kondisi
- Feedback langsung ke pemain
Hal ini membuat VB6 ideal untuk game Teka Teki angka 15.
VB6 bekerja dengan konsep event-driven, artinya program berjalan berdasarkan aksi pengguna. Dalam konteks Game, event seperti klik tombol, input teks, atau timer sangat berperan dalam membangun alur permainan yang interaktif dan responsif.
Berikut adalah langkah-langkah pembuatan Game Teka-Teki Angka 15
1. Buka Form VB6 Anda dengan Standar EXE
2. Tanamkan 1 TextBox di form, lalu copy Textbox menjadi 8 dengan urutan seperti dibawah ini dengan berbentuk array :
Text1(0), Text1(1), Text1(2), Text1(3), Text1(4), Text1(5), Text1(6), Text1(7), Text1(8).
3. Tambahkan 3 CommandButton :
Command1 Caption= "Cek"
Command2 Caption= "Reset"
Command3 Caption= "Cara main"
4. Tambahkan 1 buah Label dan Timer (interval=1000)
5. Desain Form seprti gambat dibawah ini :
 |
| Desain Form |
6. Setelah mendesain form seperti diatas dengan sama persis, lalu Copy-Paste kode dibawah ini di jendela kode pada bagian General-Declarations :
Option Explicit
Dim daftarPola As Collection
Dim detik As Integer
'Kosongkan textbox
Sub kosong()
Dim i As Integer
For i = 0 To 8
Text1(i).Text = ""
Text1(i).BackColor = vbWhite
Text1(1).MaxLength = 1
Next i
End Sub
Sub ResetWarna()
Dim i As Integer
For i = 0 To 8
Text1(i).BackColor = vbWhite
Next i
End Sub
Sub WarnaiSalah(i1 As Integer, i2 As Integer, i3 As Integer)
Text1(i1).BackColor = vbYellow
Text1(i2).BackColor = vbYellow
Text1(i3).BackColor = vbYellow
End Sub
Private Sub Command3_Click()
MsgBox "Cara Main :" + vbCrLf + "1. Masukan angka tiap kotak dari 1-9" + vbCrLf + "2. Jumlah harus 15 Mendatar,Menurun dan Miring," + vbCrLf + "3. Tidak boleh ada angka yang sama", vbInformation, "Cara Main"
End Sub
Private Sub Form_Load()
Set daftarPola = New Collection
kosong
detik = 0
Timer1.Enabled = True
Label1.Caption = ""
End Sub
Private Sub Timer1_Timer()
detik = detik + 1
Label1.Caption = "Waktu: " & detik & " detik"
End Sub
'Hanya boleh angka saja
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then
MsgBox "Hanya boleh diisi dengan angka!!", vbExclamation, "Perhatian"
KeyAscii = 0
Exit Sub
End If
' Izinkan angka 1–9 dan Backspace
If (KeyAscii < 49 Or KeyAscii > 57) And KeyAscii <> 8 Then
MsgBox "Anda menekan angka 0" + vbCrLf + "Hanya boleh diisi dengan angka 1-9!!", vbExclamation, "Perhatian"
KeyAscii = 0
Exit Sub
End If
End Sub
Private Sub Text1_Change(Index As Integer)
Text1(Index).BackColor = vbWhite
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim a(8) As Integer
Dim cek(9) As Boolean
Dim salah As Boolean
Dim polaMenang As String
ResetWarna
' Ambil & validasi
For i = 0 To 8
If Text1(i).Text = "" Then
MsgBox "Semua kotak harus diisi!", vbExclamation, "Perhatian"
Exit Sub
End If
a(i) = Val(Text1(i).Text)
If a(i) < 1 Or a(i) > 9 Then
MsgBox "Angka harus 1 - 9", vbInformation, "Informasi"
Exit Sub
End If
If cek(a(i)) Then
For j = 0 To i - 1
If a(j) = a(i) Then
Text1(i).BackColor = vbRed
Text1(j).BackColor = vbRed
End If
Next j
MsgBox "Angka tidak boleh sama!", vbCritical, "Informasi"
Exit Sub
End If
cek(a(i)) = True
Next i
' Cek baris, kolom, diagonal
salah = False
If a(0) + a(1) + a(2) <> 15 Then WarnaiSalah 0, 1, 2: salah = True
If a(3) + a(4) + a(5) <> 15 Then WarnaiSalah 3, 4, 5: salah = True
If a(6) + a(7) + a(8) <> 15 Then WarnaiSalah 6, 7, 8: salah = True
If a(0) + a(3) + a(6) <> 15 Then WarnaiSalah 0, 3, 6: salah = True
If a(1) + a(4) + a(7) <> 15 Then WarnaiSalah 1, 4, 7: salah = True
If a(2) + a(5) + a(8) <> 15 Then WarnaiSalah 2, 5, 8: salah = True
If a(0) + a(4) + a(8) <> 15 Then WarnaiSalah 0, 4, 8: salah = True
If a(2) + a(4) + a(6) <> 15 Then WarnaiSalah 2, 4, 6: salah = True
' Hasil akhir
If salah Then
MsgBox "? Belum benar!"
Else
Dim polaSekarang As String
polaSekarang = AmbilPola(a)
' Jika pola sudah pernah menang ? GAGAL
If PolaSudahMenang(polaSekarang) Then
MsgBox "POLA INI SUDAH PERNAH ANDA DIMENANGKAN!" & vbCrLf & _
"Gunakan pola yang berbeda."
Exit Sub
End If
' Simpan pola baru
daftarPola.Add polaSekarang
Timer1.Enabled = False
MsgBox "YEY.....ANDA MENANG!" & vbCrLf & _
"Pola baru!" & vbCrLf & _
"Total pola unik: " & daftarPola.Count & vbCrLf & _
"Waktu: " & detik & " detik", vbInformation, "SEALAMAT ANDA BERHASIL"
End If
End Sub
'Reset game
Private Sub Command2_Click()
kosong
detik = 0
Label1.Caption = "Waktu: 0 detik"
Timer1.Enabled = True
End Sub
Function AmbilPola(a() As Integer) As String
Dim i As Integer, s As String
s = ""
For i = 0 To 8
s = s & a(i)
Next i
AmbilPola = s
End Function
Function PolaSudahMenang(pola As String) As Boolean
Dim i As Integer
For i = 1 To daftarPola.Count
If daftarPola(i) = pola Then
PolaSudahMenang = True
Exit Function
End If
Next i
PolaSudahMenang = False
End Function
7. Jalankan Project Game Anda dan silahkan uji Game Anda apakah berjalan dengan baik.
Cara Main :
- Masukan satu angka dari 1-9 didalam kotak kosong
- Susun angka tersebut baik Mendatar, Menurun atau Miring kalau di jumlahkan angkanya 15
- Tidak boleh ada angka yang sama
- Jiksa sudah yakin klik tombol Cek
Info: mulai tahun 2026 kita akan sama-sama belajar Visual Basic .NET dan tidak lagi membahas Visual Basic 6.0.
SELAMAT TINGGAL VB6.........SELAMAT DATANG VB.NET
Post a Comment for "Membuat Game Teka-Teki Angka 15 dengan Visual Basic 6.0 (VB6)"
Berkomentarlah dengan sopan sesuai tema yang Anda baca.
Jangan menyimpang dari tema