Cara Membuat Game Memory Number di Visual Basic.NET (VB.NET)

Bosen dengan artikel tutorial belajar dasar pemograman VB.NET?, nah kali ini Admin ingin mengajak Anda berpikir dan sambil mencari hiburan yaitu dengan cara bermain Game.Tapi Game yang Anda mainkan ini tidak serta merta ada begitu saja atau tinggal di download, tapi kita harus membuatnya sendiri di Program Visual Basic.Net Anda sendiri, yang menjadi pertanyaan Game Apakah itu? adalah "Game Memory Number".

Selain menyenangkan, membuat Game seperti ini juga membantu kamu memahami logika program, event handling, hingga penggunaan kontrol di Windows Forms.

Di artikel blog ini, kita akan membahas cara membuat Game Memory Number di VB.NET secara langkah demi langkah sampai aplikasi bisa running. Tenang saja, bahasanya santai dan cocok untuk pemula. Yuk, langsung mulai! 🚀

Apa Itu Game Memory Number?

Game Memory Number adalah permainan di mana pemain harus mengingat urutan angka yang muncul secara acak, lalu memasukkannya kembali dengan benar.

Konsep Game

  • Beberapa Button ditampilkan (misalnya 4×4 = 16 tombol).
  • Setiap tombol berisi pasangan angka (1–8).
  • Angka ditampilkan sebentar di awal.
  • Setelah disembunyikan, pemain mengklik 2 tombol:
  • Jika angkanya sama → tetap terbuka
  • Jika beda → ditutup kembali

Berikut dibawah ini adalah langka-langkah cara membuat Game Memory Number di Visual Basic.Net:

1. Buka Microsoft Visual Studio Anda

2. Klik Create a New Project

3. Cari template Windows Form App (WinForms) dan klik templatenya

4. Klik Next

5. Ketik nama Project > Folder Peyimpanan

6. Klik Next

7. Pilih Framework .NET 6.0

8. Klik Create (tunggu...sampai Form1 muncul)

9. Tanamkan 1 Control Button di Form1 dengan ketentuan sebagai berikut :

  • Name:btn1
  • Text:(kosong)
  • Font: Segoe UI, 14, Bold
  • Copy btn1 sampai berjumlah 16
  • Ubah masing Name Buttonnya seperti ini :
    • btn1   btn2   btn3   btn4 
    • btn5   btn6   btn7   btn8 
    • btn9   btn10  btn11  btn12
    • btn13  btn14  btn15  btn16

10. Tambahkan 2 Control Button lagi, dengan Text: "Cara main", Name:btnCaraMain dan Text:RestartName:btnRestart

11. Tambahkan 1 Control Timer, dengan ketentuan seabgai berikut :

  • Name: TimerHide
  • Interval: 1000 (1 detik)

12. Desainlah Form seperti Gambar dibawah ini :


13. setalah mendesain Form seperti diatas, buka jendela kode bersihkan kode yang ada dengan CTRL+A dan Del, lalu copy-paste semua kode dibawah ini :

Imports System.Collections.Generic
Public Class Form1

    Dim numbers As New List(Of Integer)
    Dim firstButton As Button = Nothing
    Dim secondButton As Button = Nothing
    Dim matchedCount As Integer = 0

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        SetupGame()
    End Sub

    Sub SetupGame()
        numbers.Clear()
        matchedCount = 0

        ' Buat pasangan angka 1–8
        For i As Integer = 1 To 8
            numbers.Add(i)
            numbers.Add(i)
        Next

        Dim rnd As New Random()

        ' Atur semua button game
        For Each ctrl As Control In Me.Controls
            If TypeOf ctrl Is Button AndAlso ctrl.Name.StartsWith("btn") AndAlso
               ctrl.Name <> "btnRestart" AndAlso ctrl.Name <> "btnCaraMain" Then

                Dim btn As Button = DirectCast(ctrl, Button)
                Dim index As Integer = rnd.Next(numbers.Count)

                btn.Tag = numbers(index).ToString()   ' SIMPAN ANGKA (STRING → AMAN)
                btn.Text = btn.Tag.ToString()         ' TAMPILKAN
                btn.Enabled = True

                numbers.RemoveAt(index)

                RemoveHandler btn.Click, AddressOf Button_Click
                AddHandler btn.Click, AddressOf Button_Click
            End If
        Next

        TimerHide.Interval = 1000
        TimerHide.Start()
    End Sub

    Private Sub TimerHide_Tick(sender As Object, e As EventArgs) Handles TimerHide.Tick
        For Each ctrl As Control In Me.Controls
            If TypeOf ctrl Is Button AndAlso ctrl.Name.StartsWith("btn") AndAlso
               ctrl.Name <> "btnRestart" AndAlso ctrl.Name <> "btnCaraMain" Then
                ctrl.Text = ""
            End If
        Next
        TimerHide.Stop()
    End Sub

    Private Sub Button_Click(sender As Object, e As EventArgs)
        Dim btn As Button = DirectCast(sender, Button)

        If btn.Text <> "" Then Exit Sub

        btn.Text = btn.Tag.ToString()

        If firstButton Is Nothing Then
            firstButton = btn
        Else
            secondButton = btn

            If firstButton.Tag.ToString() = secondButton.Tag.ToString() Then
                firstButton.Enabled = False
                secondButton.Enabled = False
                matchedCount += 1
                ResetSelection()

                If matchedCount = 8 Then
                    MessageBox.Show(
                        "Selamat! 🎉" & vbCrLf &
                        "Kamu berhasil menyelesaikan game!",
                        "MENANG",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Information)
                End If
            Else
                Dim t As New Timer With {.Interval = 500}
                AddHandler t.Tick,
                    Sub()
                        firstButton.Text = ""
                        secondButton.Text = ""
                        ResetSelection()
                        t.Stop()
                    End Sub
                t.Start()
            End If
        End If
    End Sub

    Sub ResetSelection()
        firstButton = Nothing
        secondButton = Nothing
    End Sub

    Private Sub btnRestart_Click(sender As Object, e As EventArgs) Handles btnRestart.Click
        SetupGame()
    End Sub

    Private Sub btnCaraMain_Click(sender As Object, e As EventArgs) Handles btnCaraMain.Click
        MessageBox.Show(
            "CARA MAIN MEMORY NUMBER GAME" & vbCrLf & vbCrLf &
            "1. Perhatikan angka yang muncul." & vbCrLf &
            "2. Angka akan tertutup otomatis." & vbCrLf &
            "3. Klik dua kotak untuk membuka angka." & vbCrLf &
            "4. Jika sama, kotak akan tetap terbuka." & vbCrLf &
            "5. Cocokkan semua pasangan untuk menang." & vbCrLf &
                "* Triknya Anda harus mengingat posisi Angka yang pernah muncul",
            "Cara Main",
            MessageBoxButtons.OK,
            MessageBoxIcon.Information)
    End Sub
    Protected Overrides Sub OnShown(e As EventArgs)
        'Form rata tengah layar
        MyBase.OnShown(e)

        Me.StartPosition = FormStartPosition.Manual
        Me.Left = (Screen.PrimaryScreen.WorkingArea.Width - Me.Width) \ 2
        Me.Top = (Screen.PrimaryScreen.WorkingArea.Height - Me.Height) \ 2
    End Sub

End Class

14. Jalankan Project Game Anda dan Selamat bermain.

Kesimpulan

Membuat Game Memory Number di Visual Basic.NET ternyata tidak sesulit yang dibayangkan. Dengan memahami logika dasar, event, dan kontrol Windows Forms, kamu sudah bisa membuat Game sederhana yang fun dan edukatif.

Project ini sangat cocok untuk pemula yang ingin belajar VB.NET sambil praktik langsung. Jangan ragu untuk mengembangkan game ini lebih jauh sesuai kreativitasmu!

Post a Comment for "Cara Membuat Game Memory Number di Visual Basic.NET (VB.NET)"