Lampiran 1 Script Menu Utama Pada Game Tebak Kata Dim kesempatan As Integer Dim nilai As Integer Dim arrkataasli(20) As String Dim kataasli As String Dim arrhurufharushilang(20) As String Dim hurufharushilang As String Dim katabaru As String Dim indexkataterpilih As Integer Dim jumlahkataditebak As Integer Dim arrhurufsudahhilang(20) As String Dim indexarrhurufsudahhilang As Integer Dim jumlahhurufhilang As Integer Dim koneksi As New ADODB.Connection Dim rshasil As New ADODB.Recordset Dim strquery As String Private Sub Form_Load() Call mulaibaru Private Sub Form_Unload(Cancel As Integer) Cancel = 1 Private Sub cmdinput_click(index As Integer) Dim i As Integer Dim hurufkembalikan As String hurufkembalikan = "" For i = 0 To indexarrhurufsudahhilang If (cmdinput(index).caption = arrhurufsudahhilang(i)) Then hurufkembalikan = arrhurufsudahhilang(i) If (hurufkembalikan <> "") Then katabaru = kembalikanhurufhilang(kataasli, katabaru, hurufkembalikan) If (jumlahhurufhilang = 0) Then nilai = nilai + 10 lblnilai.caption = nilai
jumlahkataditebak = jumlahkataditebak - 1 If (jumlahkataditebak > 0) Then Call pengaturantombolaz(3) cmdbantuan.enabled = False cmdnext.enabled = True Call menangataukalah("menang") kesempatan = kesempatan - 1 lblkesempatan.caption = kesempatan If (kesempatan <= 0) Then Call menangataukalah("kalah") Private Sub cmdnext_click() Call pengaturantombolaz(2) cmdbantuan.enabled = True cmdnext.enabled = False jumlahhurufhilang = 0 indexkataterpilih = indexkataterpilih + 1 kataasli = arrkataasli(indexkataterpilih) hurufharushilang = arrhurufharushilang(indexkataterpilih) katabaru = tentukanhurufhilang(kataasli, hurufharushilang) lbltampilkata.caption = tampilkankatakelayar(katabaru) Private Sub cmdbantuan_click() Dim posisihurufbantuan As Integer Dim hurufditampilkan As String Dim bisadibantu As Boolean bisadibantu = apakahnilaicukup() If (bisadibantu = True) Then On Error Resume Next posisihurufbantuan = InputBox("Masukkan posisi huruf yang ingin ditampilkan." & vbcrlf & vbcrlf _ & "Setiap Anda memakai fasilitas Bantuan ini," & vbcrlf _ & "Nilai Anda akan dikurangi sebanyak 20 poin", "Input Posisi Huruf.") If (posisihurufbantuan <> 0) Then
hurufditampilkan = ambilhuruftertentu(kataasli, katabaru, posisihurufbantuan) If (hurufditampilkan <> "") Then katabaru = kembalikanhurufhilang(kataasli, katabaru, hurufditampilkan) nilai = nilai - 20 lblnilai.caption = nilai MsgBox "Maaf, jumlah Nilai Anda tidak mencukupi untuk Bantuan." & vbcrlf _ & "Nilai minimal adalah 20 Poin.", vbinformation, "Maaf" Private Sub cmdkeluar_click() End FUNGSI-FUNGSI Public Function pengaturantombolaz(pilihan As Integer) Dim i, kodeascii As Integer kodeascii = 65 For i = 0 To 25 Select Case pilihan Case 1: cmdinput(i).caption = Chr(kodeAscii) kodeascii = kodeascii + 1 Case 2: cmdinput(i).enabled = True Case 3: cmdinput(i).enabled = False End Select Public Function ambilkataditebak() As Integer Dim noindex As Integer koneksi.open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\dbtebakkata.mdb;persist Security Info=False") strquery = "SELECT * FROM tbltebakkata" rshasil.open strquery, koneksi noindex = 0
If Not rshasil.eof Then While Not rshasil.eof arrkataasli(noindex) = rshasil.fields("kata") arrhurufharushilang(noindex) = rshasil.fields("huruf_hilang") rshasil.movenext noindex = noindex + 1 Wend ambilkataditebak = noindex rshasil.close Set rshasil = Nothing koneksi.close Set koneksi = Nothing Public Function nonaktifkantombol(labeltombol As String) Dim labelpadatombol As String For i = 0 To 25 labelpadatombol = cmdinput(i).caption If (labelpadatombol = labeltombol) Then cmdinput(i).enabled = False Public Function tentukanhurufhilang(kataasli As String, hurufdihilangkan As String) As String Dim panjangkata1, panjangkata2, i, j As Integer Dim ambilhuruf1, ambilhuruf2 As String Dim katahurufhilang As String Dim tombolnonaktif As String Dim hurufhilang As Boolean indexarrhurufsudahhilang = 0 panjangkata1 = Len(kataAsli) panjangkata2 = Len(hurufDihilangkan) jumlahhurufhilang = panjangkata2 For i = 1 To panjangkata1 ambilhuruf1 = Mid(kataAsli, i, 1) hurufhilang = False
For j = 1 To panjangkata2 ambilhuruf2 = Mid(hurufDihilangkan, j, 1) If (ambilhuruf1 = ambilhuruf2) Then hurufhilang = True Next j If (hurufhilang = True) Then katahurufhilang = katahurufhilang + "_" arrhurufsudahhilang(indexarrhurufsudahhilang) = ambilhuruf1 indexarrhurufsudahhilang = indexarrhurufsudahhilang + 1 katahurufhilang = katahurufhilang + ambilhuruf1 tombolnonaktif = ambilhuruf1 Call nonaktifkantombol(tombolnonaktif) tentukanhurufhilang = katahurufhilang Public Function tampilkankatakelayar(kata As String) As String Dim panjangkata, i As Integer Dim ambilhuruf As String Dim katabaru As String panjangkata = Len(kata) For i = 1 To panjangkata ambilhuruf = Mid(kata, i, 1) If (ambilhuruf = "_") Then Select Case i Case 1: katabaru = "_" Case panjangkata: katabaru = katabaru + " _" Case : katabaru = katabaru + " _" End Select katabaru = katabaru + " " + ambilhuruf tampilkankatakelayar = katabaru
Public Function mulaibaru() Call pengaturantombolaz(1) Call pengaturantombolaz(2) cmdbantuan.enabled = True cmdnext.enabled = False jumlahkataditebak = ambilkataditebak() kesempatan = 3 lblkesempatan.caption = kesempatan nilai = 0 lblnilai.caption = nilai indexkataterpilih = 0 kataasli = arrkataasli(indexkataterpilih) hurufharushilang = arrhurufharushilang(indexkataterpilih) katabaru = tentukanhurufhilang(kataasli, hurufharushilang) lbltampilkata.caption = tampilkankatakelayar(katabaru) Public Function kembalikanhurufhilang(kataasli As String, katahurufhilang As String, hurufdikembalikan As String) As String Dim panjangkata, i As Integer Dim ambilhuruf1, ambilhuruf2 As String Dim katabaru As String panjangkata = Len(kataAsli) For i = 1 To panjangkata ambilhuruf1 = Mid(kataAsli, i, 1) ambilhuruf2 = Mid(kataHurufHilang, i, 1) If (ambilhuruf1 = hurufdikembalikan) Then katabaru = katabaru + ambilhuruf1 katabaru = katabaru + ambilhuruf2 lbltampilkata.caption = tampilkankatakelayar(katabaru) jumlahhurufhilang = jumlahhurufhilang - 1 Call nonaktifkantombol(hurufdikembalikan) kembalikanhurufhilang = katabaru Public Function apakahnilaicukup() As Boolean If ((nilai - 20) >= 0) Then
apakahnilaicukup = True apakahnilaicukup = False Public Function ambilhuruftertentu(kataasli As String, katahurufhilang As String, posisihuruf As Integer) As String Dim panjangkata, i As Integer Dim ambilhuruf1, ambilhuruf2 As String Dim hurufdicari As String panjangkata = Len(kataAsli) For i = 1 To panjangkata ambilhuruf1 = Mid(kataAsli, i, 1) ambilhuruf2 = Mid(kataHurufHilang, i, 1) If ((i = posisihuruf) And (ambilhuruf2 = "_")) Then hurufdicari = ambilhuruf1 ambilhuruftertentu = hurufdicari Public Function menangataukalah(status As String) Dim mainlagi As VbMsgBoxResult Call pengaturantombolaz(3) cmdbantuan.enabled = False cmdnext.enabled = False If (status = "MENANG") Then mainlagi = MsgBox("Anda menang. Main lagi?", vbyesno, "Selamat") If (status = "KALAH") Then mainlagi = MsgBox("Anda kalah. Main lagi?", vbyesno, "Maaf") If (mainlagi = VbMsgBoxResult.vbYes) Then Call mulaibaru If (mainlagi = VbMsgBoxResult.vbNo) Then: End
Lampiran 2 Script Form Game Tebak Kata Option Explicit Private Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" ( _ ByVal hinstance As Long, _ ByVal lpcursorname As Long) As Long Private Declare Function SetCursor Lib "user32" (ByVal hcursor As Long) As Long Private Const IDC_HAND = 32649& Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) pictombolmulai.picture = LoadPicture(App.Path & "\Gambar\TombolMulai_UP.bmp") Private Sub pictombolmulai_mousemove(button As Integer, Shift As Integer, X As Single, Y As Single) SetCursor LoadCursor(0, IDC_HAND) pictombolmulai.picture = LoadPicture(App.Path & "\Gambar\TombolMulai_OVER.bmp") Private Sub pictombolmulai_mousedown(button As Integer, Shift As Integer, X As Single, Y As Single) SetCursor LoadCursor(0, IDC_HAND) Form1.Visible = True Unload Me