• Tidak ada hasil yang ditemukan

Next Bantuan Keluar Kata yang akan ditebak

LISTING PROGRAM

Dim kesempatan As Integer

Script Menu Utama Pada Game Tebak Kata

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 hurufSudahHilang(20) As String Dim indexArrHurufSudahHilang As Integer Dim jumlahHurufSudahHilang As Integer Dim koneksi As New ADODB.Connection Dim rsHasil As New ADODB.Recordset Dim strQuery As String

Private Sub Form_Load() Call mulaiBaru

End Sub

Private Sub Form_Unload(Cancel As Integer) Cancel=1

End Sub

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) End If

Next 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 Else Call menangAtauKalah(“MENANG”) End If

End If Else kesempatan=kesempatan-1 lblKesempatan.Caption=kesempatan If(kesempatan<=0) Then Call menangAtauKalah(“KALAH”) End If End If End Sub

Private Sub cmdNext_Click() Call pengaturanTombolAZ(2) cmdBantuan.Enabled=True cmdNext.Enabled=False jumlahHurufHilang=0 indexKataTerpilih=indexKataTerpilih+1 kataAsli=arrKataAsli(indexKataTerpilih) hurufHarusHilang=arr hurufHarusHilang(indexKataTerpilih) kataBaru=tentukanHurufHilang(kataAsli, hurufHarusHilang) lblTampilKata.Caption=tampilkanKataKeLayar(kataBaru) End Sub

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 End If

End If Else

MsgBox”Maaf, jumlah Nilai Anda tidak mencukupi untuk Bantuan.” & vbCrLf & “Nilai minimal adalah 20 Poin.”, vbInformation, “Maaf”

End If End Sub

Private Sub cmdKeluar_Click() End

End Sub

Public Function pengaturanTombolAZ(pilihan As Integer)

FUNGSI-FUNGSI

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 Next i End Function

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 End If ambilKataDitebak=noIndex rsHasil.Close Set rsHasil=Nothing koneksi.Close Set koneksi=Nothing End Function

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 End If Next i End Fuction

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 End If Next j If (hurufHilang=True) Then kataHurufHilang=kataHurufHilang+”_” arrHurufSudahHilang(indexArrHurufSudahHilang)=ambilHuruf1 indexArrHurufSudahHilang= indexArrHurufSudahHilang+1 Else kataHurufHilang= kataHurufHilang+ambilHuruf1 tombolNonAktif=ambilHuruf1 Call nonAktifTombol(tombolNonAktif) End If Next i tentukanHurufHilang=kataHurufHilang End Function

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 Else: kataBaru=kataBaru+”_” End Select Else kataBaru=kataBaru+” ”+ambilHuruf End If Next i tampilkanKataKeLayar=kataBaru End Function

Public Funnction 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= hurufHarusHilang(indexKataTerpilih) kataBaru=tentukanHurufHilang(kataAsli, hurufHarusHilang) lblTampilKata.Caption=tampilkanKataKeLayar(kataBaru) End Function

Public Function kembalikanHurufHilang(kataAsli As String, kataHurufHilang As String, hurufDikembailkan 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 panjanhKata

ambilHuruf1=Mid(kataAsli, i, 1) ambilHuruf2=Mid(kataHurufHilang, i, 1) If (ambilHuruf1=hurufDikembalikan) Then kataBaru=kataBaru+ambilHuruf1 Else kataBaru=kataBaru+ambilHuruf2 End If Next i lblTampilKata.Caption=tampilkanKataKeLayar(kataBaru) jumlahHurufHilang=jumlahHurufHilang-1 Call nonAktifkanTombol(hurufDikembalikan) kembalikanHurufHilang=kataBaru End Function

Public Function apakahNilaiCukup() As Boolean If ((nilai-20)>=0) Then apakahNilaiCukup=True Else apakahNilaiCukup=False End If End Function

Public Function ambilHurufTertentu(kataAsli As String, kataHurufHilang As String, posisiHuruf As Integer) As Integer

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

End If Next i

ambilHurufTertentu=hurufDicari End Function

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”) ElseIf (status=”KALAH”) Then

mainLagi=MsgBox(“Anda kalah. Main lagi?”, vbYesNo, “maaf”) End If

If (mainLagi=VbMsgBoxResult.vbYes) Then Call mulaiBaru

ElseIf (mainLagi=VbMsgBoxResult.vbNo) Then: End End If

End Function

Option Explisit

Script Form Game Tebak Kata

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 Cosnt 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”) End Sub

Private Sub picTombolMulai_MouseDown(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”) End Sub

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 End Sub

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

End Sub

Private Sub Form_Unload(Cancel As Integer) Cancel = 1

End Sub

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)

End If Next 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 Else Call menangAtauKalah("MENANG") End If End If Else kesempatan = kesempatan - 1 lblKesempatan.Caption = kesempatan If (kesempatan <= 0) Then cal menangAtauKalah("KALAH") End If End If End Sub

Call pengaturanTombolAZ(2) cmdBantuan.Enabled = True cmdNext.Enabled = False jumlahHurufHilang = 0 indexKataTerpilih = indexKataTerpilih + 1 kataAsli = arrKataAlsi(indexKataTerpilih) HurufHarusHilang = arrHurufHarusHilang(indexKataTerpilih) kataBaru = tentukanHurufHilang(kataAsli, HurufHarusHilang) lblTampilKata.Caption = tampilkanKataKeLayar(kataBaru) End Sub

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, posisiHutufBantuan) If (hurufDitampilkan <> "") Then

kataBaru = kembalikanHurufHilang(kataAsli, kataBaru, hurufDitampilkan) nilai = nilai - 20

lblNilai.Caption = nilai End If

End If Else

MsgBox "Maaf, jumlah Nilai Anda tidak mencukupi untuk Bantuan." & vbCrLf & "Nilai minimal adalah 20 poin.", vbInformation, "Maaf"

End If End Sub

Private Sub cmdKeluar_Click() End

End Sub

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 Next i End Function

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 End If ambilKataDitebak = noIndex rsHasil.Close

Set rsHasil = Nothing koneksi.Close Set koneksi = Nothing End Function

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

End If Next i End Function

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 IndexArrHurufHilang = 0 panjangKata1 = Len(kataAsli) panjangKata2 = Len(hurufDihilangkan) jumlahHurufHilang = panjangKata2 For i = 1 To panjangKata1 ambillHuruf1 = Mid(kataAsli, i, 1) hurufHilang = False For j = 1 To panjangKata2 ambilHuruf2 = Mid(hurufDihilangkan, j, 1) If (ambillHuruf1 = ambilHuruf2) Then

hurufHilang = True End If

Next j

If (hurufHilang = True) Then

kataHurufhilang = kataHurufhilang + "_"

arrHurufSudahHilang(indexArrHurufSudahHilang) = ambilHuruf1 indexArrHurufSudahHilang = indexArrHurufSudahHialang + 1 Else

kataHurufhilang = kataHurufhilang + ambilHuruf tombolNonAktif = ambilHuruf1 Call nonAktifkanTombol(tombolNonAktif) End If Next i tentukanHurufHilang = kataHurufhilang End Function

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 Else: kataBaru = kataBaru + "_" End Select Else

kataBaru = kataBaru + "" + ambilHuruf End If

Next i

tampilkanKataKeLayar = kataBaru End Function

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) End Function

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 panajangKata

ambilHuruf1 = Mid(kataAsli, i, 1) ambilHuruf2 = Mid(kataHurufhilang, i, 1)

If (ambilHuruf1 = hurufDikembalikan) Then kataBaru = kataBaru + ambilHuruf1 Else

kataBaru = kataBaru + ambilHuruf2 End If Next i lblTampilKata.Caption = tampilkanKataKeLayar(kataBaru) jumlahHurufHilang = jumlahHurufHilang - 1 Call nonAktikanTombol(hurufDikembailkan) kembalikanHurufHilang = kataBaru End Function

Public Function apakahNilaiCukup() As Boolean If ((nilai - 20) >= 0) Then apakahNilaiCukup = True Else apakahNilaiCukup = False End If End Function

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

End If Next i

ambilHurufTertentu = hurufDicari End Function

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!") ElseIf (status = "KALAH") Then

mainLagi = MsgBox("Anda kalah. Main lagi?", vbYesNo, "Maaf!") End If

If (mainLagi = VbMsgBoxResult.vbYes) Then Call mulaiBaru

ElseIf (mainLagi = VbMsgBoxResult.vbNo) Then End If

SURAT KETERANGAN

Dokumen terkait