1

GAME KARTU SEJARAH (0)

Muhammad Rofiul Alim January 20, 2021

Game atau permainan edukasi sangat dibutuhkan untuk mengajak siswa belajar sambil bermain. Sehingga siswa merasa nyaman dan senang dalam pembelajaran yang berlangsung. Game tebak gambar merupakan game yang mana menyamakan gambar yang tertera pada layar game.

Game gambar jenis-jenis hewan masa manusia purba, dari judul bisa ditebak merupakan game yang menyamakan gambar hewan-hewan pada masa manusia purba. Dalam hal ini siswa merasa senag dengan permainan dan secara tidak langsung mereka belajar dan mengingat materi yang disampaikan guru atau dipelajari mereka sebelumnya.

Game ini diadaptasi dari game kartu yang beredar dan kita kenal. Berikut langkah-langkahnya

  1. Bukalah visual basic anda
  2. Pilihlah standard exe
  3. Disini kita membutuhkan beberapa menu image yang sama ukuran satu dengan yang lain sebagai tempat tampilnya kartu atau gambar. 2 atau 3 commandbutton dan 1 timer.
  4. Desain seperti berikut dan usahakan lurus antara satu kotak satu dengan lainnya.
Text Box: Gambar 11.1 Desain Awal
  • Selanjutnya membuat form2
Text Box: Gambar 11.2 Form Baru
  • Atur seperti berikut ini, sama pada form1 buatlah sesuai jumlah kotak form1 pada form 2.
  • Gambar yang dimasukan disini adalah gambar bertype “BMP”.

Anda bisa mendesain di photoshop dan menyimpan type bmp.

  • Selanjtnya kita kembali pada form1 karena di form1 adalah kunci dari jalannya game ini.
  • Masukan source code berikut ini.

Masukan pada General

Option Explicit

Private mintGameCards(0 To 23)   As Integer

Private mintClickCount           As Integer

Private mintFirstCard            As Integer

Private mintSecondCard           As Integer

Private mintMatches              As Integer

Private mintElapsedMins          As Integer

Private mintElapsedSecs          As Integer

Private mintNbrOfTurns           As Integer

Private mstrFileName             As String

Private mstrBestTime             As String

Private mintBestTurns            As Integer

Masukan kode berikut pada Form

Private Sub Form_Load()

Dim strBackSlash    As String

CenterForm Me

strBackSlash = IIf(Right$(App.path, 1) = “\”, “”, “\”)

mstrFileName = App.path & strBackSlash & “CONBEST.TXT”

If Dir(mstrFileName) = “” Then

Open mstrFileName For Output As #1

Write #1, “99:99”, 9999

Close #1

End If

cmdNewGame_Click

End Sub

Private Sub Form_Unload(Cancel As Integer)

Unload frmCards

End Sub

Masukan pada image atau klik 2x pada image yang tadi dibuat kotak-kotak

Private Sub imgGameCard_Click(Index As Integer)

Dim strMsg  As String

mintClickCount = mintClickCount + 1

If mintClickCount = 1 Then

mintFirstCard = Index

imgGameCard(Index) = frmCards.imgCard(mintGameCards(Index))

Else

mintSecondCard = Index

imgGameCard(Index) = frmCards.imgCard(mintGameCards(Index))

mintNbrOfTurns = mintNbrOfTurns + 1

lblNbrOfTurns = mintNbrOfTurns

WaitASecond

If mintGameCards(mintFirstCard) = mintGameCards(mintSecondCard) Then            imgGameCard(mintFirstCard).Enabled = False

imgGameCard(mintSecondCard).Enabled = False

mintMatches = mintMatches + 1

If mintMatches = 12 Then

tmrGamePlay.Enabled = False

If lblElapsedTime < mstrBestTime _

Or mintNbrOfTurns < mintBestTurns Then

Open mstrFileName For Output As #1

If lblElapsedTime < mstrBestTime _

And mintNbrOfTurns < mintBestTurns Then

strMsg = “Congratulations! You set new records for both ” _

& “best time and fewest number of turns.”

lblRecTime = lblElapsedTime

lblRecTurns = lblNbrOfTurns

ElseIf lblElapsedTime < mstrBestTime Then

strMsg = “Congratulations! You set a new record for ” _

& “best time.”

lblRecTime = lblElapsedTime

Else

strMsg = “Congratulations! You set a new record for ” _

& “fewest number of turns.”

lblRecTurns = lblNbrOfTurns

End If

Write #1, lblRecTime, Val(lblRecTurns)

Close #1

MsgBox strMsg, vbExclamation, “New Record”

End If

End If

Else

imgGameCard(mintFirstCard) = frmCards.imgCard(0)            imgGameCard(mintFirstCard).Enabled = True

imgGameCard(mintSecondCard) = frmCards.imgCard(0)         imgGameCard(mintSecondCard).Enabled = True

End If

mintClickCount = 0

End If       

End Sub

Masukan Pada General lagi

Private Sub cmdReset_Click()

If MsgBox(“Are you sure you want to reset the best scores?”, _

vbQuestion + vbYesNo + vbDefaultButton2, _

“Reset Best Scores”) = vbNo Then

Exit Sub

End If       

Open mstrFileName For Output As #1

Write #1, “99:99”, 9999

Close #1   

End Sub

Private Sub WaitASecond()

Dim sngStart    As Single

Me.Enabled = False

sngStart = Timer

Do While Timer < sngStart + 1

DoEvents

Loop

Me.Enabled = True   

End Sub

Masukan pada Timer

Private Sub tmrGamePlay_Timer()

mintElapsedSecs = mintElapsedSecs + 1

If mintElapsedSecs > 59 Then

mintElapsedMins = mintElapsedMins + 1

If mintElapsedMins > 59 Then

If MsgBox(“Time’s Up! Do you want to start a new game?”, _

vbQuestion + vbYesNo, “Concentration”) = vbYes Then

cmdNewGame_Click

Else

Unload Me

End If

Exit Sub

End If

mintElapsedSecs = 0

End If

lblElapsedTime = Format$(mintElapsedMins, “00”) & “:” _                   & Format$(mintElapsedSecs, “00”)

End Sub

Untuk New Game masukan kode berikut:

Private Sub cmdNewGame_Click()

Dim intX                As Integer

Dim intY                As Integer

Dim intCardNbr          As Integer

Dim blnGoodCardNumber   As Boolean

Dim intImageNbr         As Integer

Dim blnGoodImageNumber  As Boolean

Dim blnCardNbrSelected(1 To 52) As Boolean

Dim blnImageSelected(0 To 23)   As Boolean

Open mstrFileName For Input As #1

Input #1, mstrBestTime, mintBestTurns

Close #1

lblRecTime.Caption = mstrBestTime

lblRecTurns.Caption =mintBestTurns

Randomize

mintMatches = 0

mintElapsedMins = 0

mintElapsedSecs = 0

mintNbrOfTurns = 0

lblElapsedTime = “”

lblNbrOfTurns = “”

For intX = 0 To 23

With imgGameCard(intX)

.Visible = True

.Picture = frmCards.imgCard(0)

.Enabled = True

End With

Next

For intX = 1 To 12

blnGoodCardNumber = False

Do intCardNbr = 1 + Int(52 * Rnd)

If Not blnCardNbrSelected(intCardNbr) Then

blnCardNbrSelected(intCardNbr) = True blnGoodCardNumber = True

For intY = 1 To 2

blnGoodImageNumber = False

Do intImageNbr = Int(24 * Rnd)

If Not blnImageSelected(intImageNbr) Then blnGoodImageNumber = True                            blnImageSelected(intImageNbr) = True

mintGameCards(intImageNbr) = intCardNbr

End If

Loop Until blnGoodImageNumber

Next

End If

Loop Until blnGoodCardNumber

Next

tmrGamePlay.Enabled = True  

End Sub

5. Uji coba dengan F5 dan Semoga berhasil.

Game ini diadaptasi dari permainan yang mengunakan kartu. Dalam pembelajaran selain matematika kita bisa memodifikasi tersebut dengan gambar-gambar yang bersangkutan dengan materi pembelajaran. game asah otak sangatlah banyak tetapi sebagai guru seharusnya mampu membuat sendiri media atau sumber belajar bagi siswa, karena guru merupkan orang yang paling dekat dikelas dengan siswa sehingga tau kemampuan peserta didik dikelas-kelas yang berbeda kemampuannya.

Anda bisa memodifikasinya dengan hanya beberapa kotak saja tanpa harus meniru banyak kotak didalamnya. Tentu dengan syarat source code juga diganti  agar tidak terjadi error saat menjalankannya.

Tujuan utama dari game education adalah sebuah inovasi dalam pendidikan serta membuat bermain sambil belajar.

Comments (1)

You must be logged in to post a comment.

Login to your account

Can't remember your Password ?

Register for this site!

Skip to toolbar