Matriks telah dipelajari Anda semenjak duduk di sekolah lanjutan atas, matriks akan ogut pergunakan pada game ini, dan matriks yang digunakan bukan matriks tingkat tinggi seperti invers matriks, adjoint atau matriks LU, tetapi sebuah matriks yang sangat sederhana.
Contoh di atas adalah sebuah matriks dengan jumlah baris matriks = 10 dan jumlah kolom matriks = 5, sedangkan 0 dan 1 adalah elemen-elemen dari matriks.
Matriks seperti di atas ogut gunakan untuk membatasi pergerakan Onil di screen game, mengatur posisi item logistik yang jatuh serta untuk proses deteksi tabrakan antara Onil dan item logistik pada saat Onil menangkap item logistik.
9.1 Matriks Onil
Pada game di buku ini ogut menggunakan matriks berordo 70x29, dan pada baris ke-70 semua elemen matriks bernilai 1 sedangkan elemen lainnya bernilai 0(nol).
Elemen bernilai 1 artinya Onil bisa bergerak di posisi tersebut, bila elemen pada baris ke-70 diisi dengan 0(nol) maka Onil tidak bisa bergerak.
9.2 Matriks di Visual Basic
Untuk membuat matriks di Visual Basic bisa digunakan array dua dimensi, untuk mendeklarasikan matriks onil berordo 70x29 dapat dilakukan dengan cara seperti di bawah.
Option Explicit
'Matriks
Public Const Baris_M = 70
Public Const Kolom_M = 29 'harus ganjil
Public Matriks_Onil(Baris_M - 1, _
Kolom_M - 1) As Integer
Array pada Visual Basic dimulai dari indeks 0(nol), untuk membuat array yang mampu menampung 10 buah nilai integer maka deklarasi array menjadi seperti berikut.
Perhatikanlah contoh di atas agar tidak membingungkan Anda pada saat pemrograman.
Dengan contoh seperti gambar di atas maka indeks baris untuk matriks onil dimulai dari 0 sampai dengan 69 dan 0 sampai dengan 28 untuk indeks kolom.
9.3 Pemrograman Matriks
Untuk menyimpan matriks onil ogut menggunakan sebuah file teks Matriks_Onil.txt, Anda dapat menemukan file ini di folder yang ogut sertakan.
Agar matriks onil bisa digunakan matriks tersebut harus ditempatkan(load) ke array.
Public Function Load_Matriks( _
Matriks_P() As Integer, _
Filename As String) As Boolean
Dim My_Free_File As Integer
Dim Text_Line As String
Dim i As Integer
My_Free_File = FreeFile()
On Error Resume Next
Open Filename For Input As #My_Free_File
If Err.Number <> 0 Then
MsgBox "Reading file error, " + _
"Program terminated", _
vbOKOnly, Filename
Close #My_Free_File
Load_Matriks = False
On Error GoTo 0
Exit Function
End If
i = 0
Do While Not EOF(1)
'baca file teks perbaris
Line Input #My_Free_File, Text_Line
'data string yang didapat dari file teks
'diuraikan menjadi matriks Onil
Get_matriks_Member Matriks_P, i, Text_Line
i = i + 1
Loop
Close #My_Free_File
On Error GoTo 0
Load_Matriks = True
End Function
Pada proses load dari file Matriks_Onil.txt data dibaca perbaris(tipe data string), sehingga diperlukan sub untuk menguraikan satu data string menjadi elemen-elemen matriks.
Proses menguraikan ini juga tidak sulit karena Visual Basic telah menyediakan fungsi-fungsi untuk operasi string.
Private Sub Get_matriks_Member( _
Matriks_P() As Integer, _
i_p As Integer, _
Matriks_String As String)
Dim j As Integer
Dim Panjang_String
For j = 0 To Kolom_M - 1
'ubah data string jadi integer
Matriks_P(i_p, j) = _
Val(Left(Matriks_String, 1))
Panjang_String = Len(Matriks_String) - 2
'buang string dari data yang sudah
'diubah menjadi matriks
Matriks_String = Right(Matriks_String, _
Panjang_String)
Next
End Sub
Salam Jack Onil
Heriady
heriady.yoh@gmail.com
Artikel terkait
Membuat Game dengan VB 6
|
Tidak ada komentar:
Posting Komentar