TUGAS PBO : WORLD OF ZUUL
Kali ini saya akan mencoba mengaplikasikan topik Coupling dan Cohesion. Dan kedua hal tersebut dikemas dalam sebuah game berjudul Worlf of Zuul. Game ini adalah sebuah game sederhana bertema adventure, dimana pemainnya diharuskan mencari jalan keluar dalam suatu map.
Game ini memiliki lima class yaitu Class Game, Class Room, Class Parser, Class Command, dan Class CommandWords.
Class Game
Kelas utama atau main class dari program. Fungsi dari class ini adalah mengatur jalannya permainan dan memasuki loop untuk membaca dan menjalankan perintah dari user. Di dalam class ini juga terdapat kode yang berfungsi untuk mengimplementasikan perintah dari pengguna.
Class Room
Merupakan objek yang mewakili lokasi di dalam game. Setiap lokasi atau dalam hal ini ruangan di dalam game memiliki pintu keluar (north, south, east, west) yang mengarah ke lokasi atau ruangan lainnya. Untuk setiap input game akan mengarahkan player untuk menuju ruangan yang bersebelahan dengan mencetak jalan keluar dari empat arah mata angin di atas, namun jika tidak ada jalan keluar menuju ruangan tersebut maka akan dianggap null.
Class Parser
Berfungsi untuk membaca baris input dari terminal dan mencoba menerjemahkannya sebagai sebuah Command. Ini menjadikan objek dari class Command yang mewakili perintah tersebut. Saat dipanggil, class ini akan membaca baris input dari terminal dan menerjemahkannya sebagai 2 kata Command, dan me-return Command sebagai objek dari Class Command. Selain itu class ini juga berfungsi untuk melakukan pengecekan terhadap input dari user, dimana jika input berupa command tidak ada di dalam program (class command) maka akan dicetak sebagai perintah yang tidak diketahui.
Class Command
Merupakan sebuah objek perintah dan mewakili perintah yang dimasukkan oleh pengguna. Kelas ini memudahkan user untuk melakukan pengecekan apakah command yang di-input adalah command yang valid, selain itu class ini juga berfungsi untuk mendapatkan kata pertama serta kedua dari perintah tersebut sebagai string yang terpisah.
Class CommandWords
Class CommandWords mendefinisikan command apa saja yang valid di dalam game, dimana command yang dianggap valid adalah "go, help, quit". Ini dilakukan dengan menyimpan array objek string yang mewakili kata-kata perintah. Di dalam class ini juga dilakukan enumerasi (pencacahan satu persatu/penjumlahan) pada semua kata perintah yang dikenal dalam game dimana hal ini dilakukan untuk mengenali command dalam pengetikan oleh user.
Komentar
Posting Komentar