3.3. Struktur Data
Aplikasi permainan
Babylon Tower
yang dibangun mampu merepresentasikan setiap elemen
object
yang terdapat dalam
Babylon Tower
disertai dengan fungsi-fungsi dasarnya. Selain itu, aplikasi yang dibangun juga mampu mendeteksi input berupa
sentuhan pada layar
smartphone
dari
user
serta menentukan gerakan yang dihasilkan dari input tersebut.
Untuk merepresentasikan setiap
object
yang terdapat dalam permainan
Babylon Tower
secara jelas, maka perlu dibuat
class
untuk setiap jenis
object
yang ada. Secara umum, jenis
object
yang digunakan dapat dikelompokkan menjadi dua kelompok besar yaitu
disc
dan
ball
. Selain itu, perlu juga dibuat sebuah
class
untuk menampung informasi tentang posisi bola yang terdapat di dalam
Babylon Tower
, yaitu
inner gap
. Pada akhirnya, diperlukan sebuah
class
yang berfungsi untuk menampung sekaligus mengatur setiap
object
yang terdapat dalam sebuah
Babylon Tower
.
3.3.1. Ball
Ball
merupakan elemen terkecil dalam sebuah
Babylon Tower
sekaligus elemen yang dapat menempati posisi yang sangat beragam. Pada
class Ball
, terdapat beberapa variabel yang dapat dilihat pada tabel 3.1.
Tabel 3.1. Daftar variabel pada
class Ball
Nama variabel
Tipe data Kegunaan
gameObject GameObject
Menyimpan model 3D dan posisi bola
color int
Menyimpan sebuah bilangan yang menyatakan warna bola
brightness
int Menyimpan sebuah bilangan yang
menyatakan tingkat kecerahan dari warna bola
Nilai
brightness
berkisar dari 0 sampai 5, dimana 0 menyatakan warna yang paling pucat dan 5 menyatakan warna yang paling cerah.
Universitas Sumatera Utara
Selain itu, pada
class Ball
juga terdapat sebuah variabel static dengan tipe data array dari string yang menyimpan nama-nama warna bola. Daftar index array beserta
warna bolanya dapat dilihat pada tabel 3.2.
Tabel 3.2. Nama-nama warna bola dalam array Index
Color Name
Red
1
Brown
2 Black
3 Yellow
4 Blue
5 Green
Method-method
yang terdapat dalam
class Ball
berfungsi untuk mengakses data yang tersimpan dalam setiap variabel yang terdapat dalam
class Ball
oleh
class
yang lain.
3.3.2. Disc
Disc
menempati posisi baris yang tidak berubah dalam sebuah
Babylon Tower
, yang artinya setiap
disc
tidak dapat berpindah posisi dari baris atas ke baris bawah maupun sebaliknya. Setiap
disc
menyimpan daftar enam buah object
ball
yang sedang berada pada
disc
tersebut. Pada
class Disc
, terdapat beberapa variabel yang dapat dilihat pada tabel 3.3. Nilai
disc
berkisar dari 0 sampai 5, dimana 0 menyatakan
disc
berada pada posisi paling atas dan 5 menyatakan
disc
berada pada posisi paling bawah. Posisi setiap
ball
dalam sebuah
disc
dapat berubah ketika
disc
tersebut diputar, sehingga perlu disediakan
method
dalam
class Disc
yang berfungsi untuk memindahkan posisi setiap
ball
yang terdapat dalam
disc
apabila
disc
tersebut diputar. Selain
method
tersebut, terdapat pula
method-method
yang berfungsi untuk mengakses data yang tersimpan dalam setiap variabel dalam
class Disc
oleh
class
yang lain.
Universitas Sumatera Utara
Tabel 3.3. Daftar variabel pada class
Disc
Nama variabel
Tipe data Kegunaan
gameObject GameObject
Menyimpan model 3D dan posisi
disc
balls Ball[]
Menyimpan semua
object ball
yang terdapat pada
disc
row int
Menyimpan sebuah bilangan yang menyatakan posisi baris yang ditempati
oleh
disc
. Baris terbawah diwakili dengan nilai 0 hingga baris teratas
diwakili dengan nilai 5
3.3.3. Inner Gap
Inner Gap
berfungsi untuk menyimpan informasi tentang
ball
yang sedang berada di dalam
Babylon Tower
. Dalam
class Inner Gap
, terdapat variabel yang berfungsi untuk menyimpan
object ball
yang sedang berada di dalam
Babylon Tower
. Selain itu, terdapat pula variabel yang berfungsi untuk menyimpan bilangan yang menyatakan
posisi kolom dari bola yang berada di dalam
Babylon Tower
. Pada
class Inner Gap
juga terdapat
method
yang berfungsi untuk memindahkan posisi bola ketika
disc
yang berada pada posisi paling bawah diputar. Selain itu, terdapat pula
method-method
yang berfungsi untuk mengakses serta menyalin data yang tersimpan dalam setiap variabel dalam
class Inner Gap
oleh
class
yang lain.
3.3.4. Babylon Tower
Babylon Tower
berfungsi untuk menyimpan dan mengatur setiap elemen yang terdapat di dalam
Babylon Tower
tersebut. Oleh karena itu, pada
class Babylon Tower
diperlukan variabel yang berfungsi untuk menyimpan setiap
disc
yang terdapat dalam
Babylon Tower
serta variabel untuk menyimpan bola yang sedang berada di dalam
Babylon Tower
. Pada keadaan awal, variabel-variabel yang terdapat dalam
class Babylon Tower
dapat dilihat pada tabel 3.4.
Universitas Sumatera Utara
Tabel 3.4. Daftar variabel pada
class Babylon Tower
Nama variabel
Tipe data Kegunaan
discs
Disc[] Menyimpan semua
object disc
yang terdapat pada
Babylon Tower
innerGaps InnerGap[]
Menyimpan semua
object ball
yang ditekan ke dalam
Babylon Tower
Pada
class Babylon Tower
terdapat
method
yang berfungsi untuk memutar
disc
, menekan masuk bola ke dalam
disc
yang berada pada posisi paling bawah, mengeluarkan kembali bola yang telah ditekan ke dalam
Babylon Tower
, menggeser bola-bola pada kolom yang sama, serta mengacak posisi bola ketika
Babylon Tower
pertama kali di-
generate
.
Method-method
yang terdapat dalam
class Babylon Tower
dapat dilihat pada tabel 3.5.
Tabel 3.5. Daftar
method
pada
class Babylon Tower
Nama method
Kegunaan Rotate
Memutar salah satu
disc
yang dipilih serta setiap bola yang berada di dalamnya
Push Menekan masuk bola yang dapat ditekan masuk ke dalam
disc
Pop Mengeluarkan kembali bola yang telah ditekan masuk sebelumnya
Slide
Menggeser posisi bola-bola pada kolom yang sama yang memiliki celah untuk digeser
Randomize Mengacak posisi bola pada
Babylon Tower
Selain
method-method
tersebut, pada
class Babylon Tower
juga terdapat
method-method
yang berfungsi untuk mengakses serta menyalin data yang tersimpan dalam setiap variabel dalam
class Babylon Tower
oleh
class
yang lain.
Universitas Sumatera Utara
3.4. Game Mechanic