c. Tukar posisi dua bola yang belum terurut pada dua cakram teratas.
i. Hitung jumlah kolom yang belum terurut pada dua bola teratasnya.
ii. Apabila jumlahnya ganjil, putar cakram yang paling atas sejauh 60 derajat.
Kemudian ulangi langkah-langkah pada tahap a untuk mengembalikan posisi bola pada kolom yang benar.
iii. Apabila jumlahnya sudah genap, tentukan dua kolom yang posisi bolanya
ingin ditukar, dan buat sebuah celah pada kolom yang lain. iv.
Lakukan langkah-langkah sesuai dengan diagram berikut untuk menukar posisi dua bola yang belum terurut pada dua cakram teratas.
Diagram tersebut menggambarkan posisi bola pada dua cakram teratas dari tiga kolom yang terlibat, yaitu dua kolom yang posisi bolanya ingin ditukar
serta satu kolom lain yang memuat celah.
A
,
a
dan
B
,
b
masing-masing menyatakan warna bola dimana huruf yang sama menyatakan jenis warna
yang sama dengan tingkat kecerahan yang berbeda. Huruf kapital menyatakan warna yang paling pucat. Sedangkan huruf
Z
menyatakan warna bola dari kolom lain yang memuat celah dan spasi menyatakan sebuah celah.
Perlu diperhatikan pula bahwa ketiga kolom tersebut tidak harus terletak berdampingan. Langkah tersebut tetap dapat dilakukan apabila terdapat
kolom lain di antara kolom-kolom yang terlibat. v.
Ulangi langkah iii sampai iv hingga semua posisi bola terurut.
2.2. Game Architecture
Game
merupakan simulasi komputer yang bersifat
real-time
, dinamis dan interaktif, sehingga waktu memainkan peranan yang sangat penting dalam sebuah
game
Gregory, 2009. Secara spesifik,
game
berada dalam kategori yang disebut
real-time software application
.
Real-time software
maksudnya adalah aplikasi komputer dimana proses-proses yang terjadi di dalamnya sangat bergantung terhadap waktu. Setiap data
yang diproses dalam
real-time software
akan memiliki kendala terhadap perubahan
Universitas Sumatera Utara
waktu dalam
game
. Sebagai kesimpulan,
game
merupakan aplikasi interaktif yang bergantung terhadap waktu, terdiri dari simulator dunia virtual yang mengolah data
real-time
, menampilkan hasilnya secara visual, serta mengontrol mekanisme sehingga pemain dapat berinteraksi dengan dunia
game
Sanchez Dalmau, 2004. Setiap
real-time software
terdiri dari tiga jenis proses yang berjalan dalam waktu yang bersamaan. Yang pertama adalah keadaan
state
dari dunia
game
yang harus dikomputasi secara konstan. Yang kedua adalah interaksi yang dilakukan oleh
pemain terhadap dunia
game
. Yang ketiga adalah
state
yang dihasilkan harus dapat disampaikan sebagai output kepada pemain, output dapat berupa tampilan, audio,
maupun bentuk output lainnya yang memungkinkan Sanchez Dalmau, 2004. Dalam
graphical user interface GUI
yang sering ditemukan pada sistem operasi
Windows
atau
Macintosh
, sebagian besar isi tampilannya bersifat statis. Hanya bagian kecil dari window yang tampilannya secara aktif berubah-ubah pada waktu
tertentu. Karena hal tersebut,
GUI
ditampilkan pada layar dengan teknik yang disebut
rectangle invalidation
, dimana hanya sebagian kecil dari layar yang isinya berubah yang perlu diubah tampilannya.
Game 2D
pada awalnya menggunakan teknik yang serupa untuk meminimalisir jumlah
pixel
yang perlu ditampilkan. Namun, tampilan grafis pada
game 3D real-time
diimplementasi dengan cara yang sama sekali berbeda. Seluruh isi yang ditampilkan pada layar akan berubah
secara terus menerus ketika pemain bergerak dalam lingkungan 3D, sehingga konsep
rectangle invalidation
tidak dapat lagi diterapkan. Sebagai gantinya, sebuah ilusi dari gerakan dapat dihasilkan dengan cara yang hampir sama dengan cara menghasilkan
ilusi gerakan pada sebuah film, yaitu dengan menampilkan kepada penonton rangkaian gambar diam yang bergantian secara cepat dan berurutan. Untuk
menghasilkan tampilan gambar diam yang bergantian secara cepat, dibutuhkan sebuah
loop
. Dalam
real-time software
, hal tersebut disebut juga sebagai
render loop
Gregory, 2009.
2.3. Struktur Data dan Algoritma dalam Game