Program Sederhana
Game snake itu adalah permainan ular ularan yang memakan umpan , dan akan mati jika ia menabrak tembok atau badannya sendiri . Tiap memkan umpan ularnya akan semakin panjang dan levelnya akan meningkat . Untuk membuat game snake ini di gunakan aplikasi Visual Basic .
Berikut adalah codingan untuk membuat game snake :
Sub TabrakKalah()
Dim s As String
For i = 0 To shpTembok.Count - 1
If (shpUlar(0).Top = shpTembok(i).Top) And (shpUlar(0).Left = shpTembok(i).Left) And (UlarTembus = False) Then
PlaySound 2
s = "Anda menabrak tembok !"
GoTo Enn
End If
Next
For i = 1 To shpUlar.Count - 1
If (shpUlar(0).Top = shpUlar(i).Top) And (shpUlar(0).Left = shpUlar(i).Left) And (UlarTembus = False) Then
PlaySound 2
s = "Anda menabrak badan ular !"
GoTo Enn
End If
Next
For i = 0 To shpRacun.Count - 1
If (shpUlar(0).Top = shpRacun(i).Top) And (shpUlar(0).Left = shpRacun(i).Left) Then
PlaySound 2
s = "Anda terkena racun !"
GoTo Enn
End If
Next
Exit Sub
Enn:
MsgBox s & vbCrLf & "Skor anda " & lblSkor & ".", vbCritical
SetLevel (LevelSekarang)
lblSkor = 0
End Sub
Sub TabrakPakan()
On Error Resume Next
For i = 0 To shpPakan.Count - 1
If (shpUlar(0).Top = shpPakan(i).Top) And (shpUlar(0).Left = shpPakan(i).Left) Then
TempatkanItem shpPakan(i)
PlaySound 1
Tumbuh
If prgNilai.Value = prgNilai.Max Then
LevelLanjut
Exit For
End If
End If
Next
End Sub
Sub TabrakMisteri()
Dim j As Integer
For i = 0 To shpMisteri.Count - 1
If (shpUlar(0).Top = shpMisteri(i).Top) And (shpUlar(0).Left = shpMisteri(i).Left) Then
TempatkanItem shpMisteri(i)
PlaySound 1
NetralkanMisteri
Randomize
Select Case CInt(Rnd * 5) 'mengacak hasil misteri
Case 0
tmrUlar.Interval = 50
lblMisteri = "Ular Cepat"
Case 1
tmrUlar.Interval = 350
lblMisteri = "Ular Lambat"
Case 2
UlarTembus = True
lblMisteri = "Ular Tembus"
Case 3
UlarBingung = True
lblMisteri = "Ular Bingung"
Case 4
PutarUlar
lblMisteri = "Ular Putar Balik"
lblMisteriWaktu.Visible = False
Case 5
For j = 1 To 5
Tumbuh
Next
lblMisteri = "Pakan Super 5x"
lblMisteriWaktu.Visible = False
If prgNilai.Value = prgNilai.Max Then
LevelLanjut
Exit For
End If
End Select
lblMisteriWaktu = tmrMisteri.Tag
tmrMisteri.Enabled = True
End If
Next
End Sub
Private Sub btnPause_Click()
MsgBox "Permainan di-pause !" & vbCrLf & "Klik tombol 'OK' untuk melanjutkan."
picMain.SetFocus
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
tmrUlar.Enabled = True
Select Case KeyCode
Case vbKeyUp
If shpUlar(1).Top <> shpUlar(0).Top - 120 Then 'untuk mencegah bug bila terlalu cepat menekan keyboard
If (Arah = 2) Or (Arah = 4) Then
If UlarBingung = True Then Arah = 3 Else Arah = 1
End If
End If
Case vbKeyRight
If shpUlar(1).Left <> shpUlar(0).Left + 120 Then
If (Arah = 1) Or (Arah = 3) Then
If UlarBingung = True Then Arah = 4 Else Arah = 2
End If
End If
Case vbKeyDown
If shpUlar(1).Top <> shpUlar(0).Top + 120 Then
If (Arah = 2) Or (Arah = 4) Then
If UlarBingung = True Then Arah = 1 Else Arah = 3
End If
End If
Case vbKeyLeft
If shpUlar(1).Left <> shpUlar(0).Left - 120 Then
If (Arah = 1) Or (Arah = 3) Then
If UlarBingung = True Then Arah = 2 Else Arah = 4
End If
End If
End Select
End Sub
Private Sub Form_Load()
For i = 1 To 6
Load mnuLevel(i)
mnuLevel(i).Caption = "Level " & i
Next
mnuLevel_Click (0)
End Sub
Private Sub mnuBantuan_Click()
frmBantuan.Show vbModal
End Sub
Sub mnuLevel_Click(Index As Integer)
For i = 0 To mnuLevel.Count - 1
mnuLevel(i).Checked = (i = Index)
Next
SetLevel (Index)
End Sub
Private Sub tmrItem_Timer()
'properti tag digunakan sebagai timer untuk tiap kontrol
For i = 0 To shpPakan.Count - 1
If CDbl(shpPakan(i).Tag) > 80 Then TempatkanItem shpPakan(i)
shpPakan(i).Tag = CDbl(shpPakan(i).Tag) + 1
Next
If JmlRacun <> 0 Then
For i = 0 To shpRacun.Count - 1
If CDbl(shpRacun(i).Tag) > 90 Then TempatkanItem shpRacun(i)
shpRacun(i).Tag = CDbl(shpRacun(i).Tag) + 1
Next
End If
If JmlMisteri <> 0 Then
For i = 0 To shpMisteri.Count - 1
If CDbl(shpMisteri(i).Tag) > 100 Then TempatkanItem shpMisteri(i)
shpMisteri(i).Tag = CDbl(shpMisteri(i).Tag) + 1
shpMisteri(i).BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
shpMisteri(i).BorderColor = shpMisteri(i).BackColor
Next
End If
End Sub
Private Sub tmrMisteri_Timer()
tmrMisteri.Tag = CDbl(tmrMisteri.Tag) - 1
lblMisteriWaktu = tmrMisteri.Tag
If tmrMisteri.Tag = 0 Then NetralkanMisteri
End Sub
Private Sub tmrUlar_Timer()
For i = shpUlar.Count - 1 To 1 Step (-1)
shpUlar(i).Move shpUlar(i - 1).Left, shpUlar(i - 1).Top
Next
Select Case Arah
Case 1
shpUlar(0).Top = shpUlar(0).Top - 120
Case 2
shpUlar(0).Left = shpUlar(0).Left + 120
Case 3
shpUlar(0).Top = shpUlar(0).Top + 120
Case 4
shpUlar(0).Left = shpUlar(0).Left - 120
End Select
If shpUlar(0).Left < 0 Then shpUlar(0).Left = 4080
If shpUlar(0).Left = 4200 Then shpUlar(0).Left = 0
If shpUlar(0).Top < 0 Then shpUlar(0).Top = 4080
If shpUlar(0).Top = 4200 Then shpUlar(0).Top = 0
TabrakKalah
TabrakPakan
TabrakMisteri
End Sub
Berikut Output nya:
Itu tampilan untuk gamenya . Terdapat level , bantuan , skor , misteri .
(Tampilan saat mengklik bantuan , terdapat keterangan untuk mempermudah dalam memaikan game)
(Level 1)
(Level 2)
(Level 3)
(Level 4)
(Level 5)
(Level 6)
Mata Kuliah : Pengolahan Teknologi Sistem Cerdas#