TUGAS 7 - WORLD OF ZUUL
PENJELASAN SINGKAT KODE WORLD OF ZUUL
Nama : Winda Nafiqih Irawan
NRP : 5025231065
Kelas : Pemrogramman Berbasis Obyek
Berikut source code untuk program kalkulator java : GitHub-World Of Zuul
1. Kelas Game
:
Kelas Game
adalah kelas utama yang bertanggung jawab untuk mengatur alur permainan. Di sini, ruangan-ruangan (objek Room
) dibuat dan dihubungkan satu sama lain melalui metode createRooms()
. Kelas ini juga mengelola siklus utama permainan melalui metode play()
, yang berisi loop untuk menerima input dari pemain dan memproses perintah tersebut. Perintah dari pemain diterima melalui objek Parser
, kemudian diproses oleh metode processCommand()
. Dalam metode ini, permainan dapat menerima perintah untuk berpindah ruangan (go
), meminta bantuan (help
), atau mengakhiri permainan (quit
). Kelas ini juga memuat informasi tentang lokasi pemain saat ini (currentRoom
) dan mengatur tindakan-tindakan yang dilakukan pemain di dalam ruangan tersebut.
2. Kelas Room
:
Kelas Room
digunakan untuk merepresentasikan ruangan dalam permainan. Setiap ruangan memiliki deskripsi dan pintu keluar yang menghubungkan ke ruangan lain. Atribut exits
disimpan dalam bentuk HashMap
, di mana setiap arah (misalnya, "north", "south") terhubung ke objek Room
lain yang merupakan ruangan tetangga. Metode seperti setExit()
digunakan untuk menambahkan pintu keluar ke ruangan, sementara getExit()
digunakan untuk mengambil ruangan tetangga berdasarkan arah yang diberikan oleh pemain. Selain itu, metode getExitString()
menyediakan daftar arah yang tersedia bagi pemain untuk bergerak. Dengan demikian, kelas ini memberikan representasi ruang lingkup permainan yang dapat dijelajahi oleh pemain.
3. Kelas Parser
:
Kelas Parser
berfungsi sebagai penghubung antara input dari pemain dan sistem permainan. Ia membaca input dari pemain menggunakan objek Scanner
dan memprosesnya menjadi objek Command
. Metode getCommand()
menerima masukan dari pengguna, memecahnya menjadi dua kata (kata perintah dan kata tambahan opsional), dan mengubahnya menjadi objek Command
yang nantinya diproses oleh kelas Game
. Selain itu, Parser
juga memiliki metode showCommands()
, yang menampilkan semua perintah yang valid di permainan. Kelas ini bekerja sama dengan CommandWords
untuk memastikan bahwa hanya perintah-perintah yang valid yang diproses oleh sistem.
4. Kelas CommandWords
:
Kelas CommandWords
adalah kamus yang berisi perintah-perintah yang valid dalam permainan, seperti "go", "help", dan "quit". Perintah-perintah ini disimpan dalam bentuk HashMap
di mana kata perintah adalah kunci dan deskripsinya adalah nilai. Kelas ini memiliki metode seperti isCommand()
untuk memeriksa apakah sebuah string adalah perintah yang valid, dan showAll()
yang menampilkan semua perintah yang tersedia kepada pemain. Kelas ini bekerja sama dengan Parser
untuk memverifikasi input pemain dan memastikan bahwa perintah yang tidak dikenal tidak diproses lebih lanjut.
5. Kelas Command
:
Kelas Command
adalah representasi dari perintah yang diberikan oleh pemain. Setiap objek Command
menyimpan dua kata: commandWord
(kata perintah utama, seperti "go") dan secondWord
(kata tambahan opsional, seperti arah "north"). Metode seperti getCommandWord()
dan getSecondWord()
digunakan untuk mengambil kata perintah dan kata tambahan. Kelas ini juga memiliki metode hasSecondWord()
yang memeriksa apakah ada kata tambahan, serta isUnknown()
yang mengecek apakah kata perintah utama tidak dikenal. Kelas ini digunakan oleh kelas Game
untuk menentukan tindakan apa yang harus diambil berdasarkan perintah yang diberikan oleh pemain.
Komentar
Posting Komentar