Selasa, 17 Januari 2017

Tugas Penulisan Program Sederhana

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#

Tidak ada komentar:

Posting Komentar