Tugas Game Design & Programming 1 – Review “The Fiery Concert” in Ayodance

“The Fiery Concert” atau biasa disebut dengan “Guitar Master” ini merupakan mode permainan yang terdapat di “Audition Ayodance”. Permainan ini bergenre Action game dimana player ditantang untuk memainkan game ini dengan tingkat kesulitan berbeda-beda di tiap lagu. Player juga harus melatih skills-nya dalam memainkan permainan ini.

The Fiery Concert dapat dimainkan dengan 2 cara, yaitu dengan menggunakan Keyboard atau Guitar Controller.

(gambar diatas merupakan gambar Guitar Controller | credit to : www.kotakgame.com)

kelebihan menggunakan Guitar Controller ini adalah seluruh player yang ada di dalam game-room akan mendapatkan bonus exp +20% saat bermain dengan player yang menggunakan Guitar Controller ini.

tampilan didalam game-room The Fiery Concert dan pilihan lagu :

pilihan lagu untuk permainan ini sangat banyak, dan 1 lagu terdapat 3 sampai 4 tingkat kesulitan, yaitu

(E) berwarna kuning : merupakan level easy

(N) berwarna hijau : merupakan level normal

(H) berwarna ungu : merupakan level hard

(C) berwarna merah : merupakan level crazy

tampilan saat memulai permainan :

2014_3_15_17.44.22

cara memainkan permainan ini adalah dengan menggunakan tombol z x c v untuk note berwarna biru dan pink 

dan m , . / untuk note berwarna merah 

setelah menekan tombol tersebut, player harus menekan tombol shift (baik shift kanan ataupun shift kiri) agak note tersebut dapat ‘dipetik’

untuk lebih dalam mengenai controllernya :

jika player dapat memainkan note tersebut dengan lancar maka ia akan mendapatkan combo berupa ‘Spark’

2014_3_15_17.51.10

tetapi jika player miss saat spark kita berada diatas 100, maka ia akan mendapat kondisi ‘Spark break’ dan spark dimulai lagi dari 0

2014_3_15_17.52.48

jika terdapat bentuk tanda panah kuning di dalam note, maka player harus menekan shift bersamaan dengan spasi / ctrl kanan untuk ‘bending’

bending yaitu kondisi dimana spark dan score di suatu note akan dikalikan 2

2014_3_15_17.45.43

selain itu, jika terdapat icon kepala gitar, maka player harus menekan ctrl kiri / tanda panah atas ↑ untuk melakukan ‘swing’

swing yaitu kondisi dimana spark dan score di area swing tersebut akan dikalikan 3

2014_3_15_17.46.19

selain itu player juga bisa melakukan flame out (dengan menekan tombol delete) jika percikan api yang terdapat pada samping kanan dan kiri dari gagang gitar (atau biasa disebut juga ‘flame out gauge’) sudah terdapat 1 buah. total dari percikan api tersebut adalah 3 buah. dan saat mencapai percikan api ke-3 akan muncul notifikasi “The Flame Max Out” dan flame out gauge berhenti berjalan.

2014_3_15_17.46.2

saat memencet tombol delete (flame out) semua node akan menjadi keynode 8d. dan kondisi flame out akan berakhir jika ‘flame out gauge’ habis

2014_3_15_17.45.33

tipe tipe note dalam The Fiery Concert terbagi 2, yaitu note biasa (yang sudah dijelaskan diatas) bentuknya gepeng, dan note gendut seperti ini 

perbedaannya adalah note gendut ini tidak perlu ‘dipetik’ / tidak perlu menekan tombol shift, cukup menekan tombol z x c v dan m , . / saja

2014_3_15_17.59.36

lalu setelah selesai permainan akan muncul ‘result table’ yang akan menampilkan semua data dari permainan kita.

di pojok kanan terdapat “Rank” (sebelah kiri “PC Cafe”) yang mengelompokkan performa dari permainan kita, rank terbagi menjadi ; SS, S, A, B, C, D, dan F

2014_3_15_17.48.0

Video : http://www.youtube.com/watch?v=CpjDJZUKI7Q

Kurang lebih seperti inilah permainan The Fiery Concert, jika anda tertarik, anda bisa mencoba memainkannya, selamat mencoba!

binus.ac.id

Tugas Teknik Kompilasi 2

SOAL : Mengapa dalam melakukan TOP-DOWN PARSING harus dilakukan penghilangan LEFT RECURSION dan LEFT FACTORING terlebih dahulu ?

Top Down Parsing

Merupakan suatu usaha untuk menemukan left most derivation dari sebuah string. Untuk melakukan top down parsing tersebut, terlebih dahulu harus dilakukan penghilangan bentuk rekursif kiri. selain itu perlu juga dilakukan left factoring untuk menghilangkan ambiguitas dari suatu string.

Left Recursion

Untuk melakukan top-down parsing , bentuk rekursif dari string harus dihilangkan. Hal ini harus dilakukan untuk menghindari terjadinya keadaan dimana tidak ditemukan terminal. Ini disebabkan oleh ekspansi variable yang dilakukan secara berulang-ulang.

Untuk sebuah top-down parser, setiap bentuk rekursif yang ada harus lah rekursif kanan. Untuk itu perlu dilakukan pengubahan dari bentuk rekursif kiri menjadi rekursif kanan.

Contoh : A -> Aa | bc | d

A -> bcA’ | dA’

A’-> aA’ | ε

Left Factoring

Left factoring merupakan pengubahan bentuk grammar untuk menghasilkan bentuk grammar yang sudah tidak ambigu. Maksudnya adalah sebuah string yang masih belum diketahui apakah string tersebut rekursif kiri atau bukan. Oleh karena itu dalam top down parsing perlu dilakukan left factoring untuk menghilangkan ambiguitas string yang akan di parsing.

Contoh: A -> Ab | Ac |d

A -> AA’ | d

A’ -> b | c

http://binus.ac.id/

Tugas Teknik kompilasi 1

-menggambar ℇ-NFA-
e-nfa

-lakukan ℇ-closure-

S0 = ℇ-closure {0} = {0,1,3}

ℇ-closure (move(S0,a)) = ℇ-closure {2} = {1,2,3} = S1

ℇ-closure (move(S0,b)) = ℇ-closure {4} = {4} = S2

 

ℇ-closure (move(S1,a)) = ℇ-closure {2} = {1,2,3} = S1

ℇ-closure (move(S1,b)) = ℇ-closure {4} = {4} = S2

 

ℇ-closure (move(S2,a)) = ℇ-closure {5} = {5,6,7,9,12,13,15} = S3*

ℇ-closure (move(S2,b)) = ℇ-closure {4} = {4} = S2

 

ℇ-closure (move(S3,a)) = ℇ-closure {5,8} = {5,6,7,8,9,12,13,15} = S4*

ℇ-closure (move(S3,b)) = ℇ-closure {10,14} = {6,7,9,10,11,12,13,14,15} = S5*

 

ℇ-closure (move(S4,a)) = ℇ-closure {5,8} = {5,6,7,8,9,12,13,15} = S4*

ℇ-closure (move(S4,b)) = ℇ-closure {10,14} = {6,7,9,10,11,12,13,14,15} = S5*

 

ℇ-closure (move(S5,a)) = ℇ-closure {8} = {6,7,8,9,11,12,13,15} = S6*

ℇ-closure (move(S5,b)) = ℇ-closure {10,14} = {6,7,9,10,11,12,13,14,15} = S5*

 

ℇ-closure (move(S6,a)) = ℇ-closure {8} = {6,7,8,9,11,12,13,15} = S6*

ℇ-closure (move(S6,b)) = ℇ-closure {10,14} = {6,7,9,10,11,12,13,14,15} = S5*

dfaa

-membuat tabel & DFA minimal-

tabeldfadfa minimal

http://binus.ac.id/

-menggambar ℇ-NFA-
e-nfa

-lakukan ℇ-closure-

S0 = ℇ-closure {0} = {0,1,3}

ℇ-closure (move(S0,a)) = ℇ-closure {2} = {1,2,3} = S1

ℇ-closure (move(S0,b)) = ℇ-closure {4} = {4} = S2

 

ℇ-closure (move(S1,a)) = ℇ-closure {2} = {1,2,3} = S1

ℇ-closure (move(S1,b)) = ℇ-closure {4} = {4} = S2

 

ℇ-closure (move(S2,a)) = ℇ-closure {5} = {5,6,7,9,12,13,15} = S3*

ℇ-closure (move(S2,b)) = ℇ-closure {4} = {4} = S2

 

ℇ-closure (move(S3,a)) = ℇ-closure {5,8} = {5,6,7,8,9,12,13,15} = S4*

ℇ-closure (move(S3,b)) = ℇ-closure {10,14} = {6,7,9,10,11,12,13,14,15} = S5*

 

ℇ-closure (move(S4,a)) = ℇ-closure {5,8} = {5,6,7,8,9,12,13,15} = S4*

ℇ-closure (move(S4,b)) = ℇ-closure {10,14} = {6,7,9,10,11,12,13,14,15} = S5*

 

ℇ-closure (move(S5,a)) = ℇ-closure {8} = {6,7,8,9,11,12,13,15} = S6*

ℇ-closure (move(S5,b)) = ℇ-closure {10,14} = {6,7,9,10,11,12,13,14,15} = S5*

 

ℇ-closure (move(S6,a)) = ℇ-closure {8} = {6,7,8,9,11,12,13,15} = S6*

ℇ-closure (move(S6,b)) = ℇ-closure {10,14} = {6,7,9,10,11,12,13,14,15} = S5*

dfaa

-membuat tabel & DFA minimal-

tabeldfadfa minimal

http://binus.ac.id/