Nama : Alif Nurrohman
NRP : 5025231057
Implementasi Word Of Zull
#Penjelasan Code :
1. Class Room
Kelas `Room` adalah sebuah kelas yang digunakan dalam sebuah permainan petualangan, misalnya seperti di game "World of Zuul". Permainan ini adalah game petualangan berbasis teks yang sangat sederhana.
Kelas `Room` ini berfungsi untuk merepresentasikan satu lokasi atau tempat di dalam dunia permainan. Setiap `Room` terhubung dengan ruangan lain melalui berbagai arah, seperti utara, timur, selatan, dan barat. Untuk setiap arah, objek `Room` menyimpan referensi (rujukan) ke ruangan tetangga yang berada di arah tersebut. Jika tidak ada ruangan di satu arah, maka referensi tersebut bernilai `null`.
Artinya, dalam permainan ini, pemain bisa berpindah dari satu ruangan ke ruangan lain melalui arah yang sudah ditentukan (utara, timur, selatan, barat), namun jika di salah satu arah tidak ada ruangan, maka pemain tidak bisa bergerak ke arah tersebut.
2. Class Parser
Kelas ini merupakan bagian dari aplikasi "World of Zuul", sebuah permainan petualangan berbasis teks yang sangat sederhana.
Kelas Parser berfungsi untuk membaca masukan dari pengguna dan mencoba menginterpretasikannya sebagai sebuah perintah dalam permainan petualangan. Setiap kali kelas ini dipanggil, ia akan membaca satu baris input dari terminal (masukan teks pengguna) dan mencoba menafsirkan baris tersebut sebagai sebuah perintah yang terdiri dari dua kata. Setelah itu, kelas ini mengembalikan hasil interpretasi tersebut sebagai objek dari kelas Command.
Parser memiliki sekumpulan kata perintah yang dikenal. Saat pengguna memasukkan sebuah perintah, kelas ini akan memeriksa apakah perintah tersebut sesuai dengan perintah yang sudah dikenal. Jika perintah yang dimasukkan pengguna tidak sesuai dengan perintah yang dikenal, parser akan mengembalikan objek perintah yang ditandai sebagai perintah yang tidak dikenal (unknown command).
3. Class Game
Kelas ini merupakan kelas utama dari aplikasi "World of Zuul". "World of Zuul" adalah sebuah permainan petualangan berbasis teks yang sangat sederhana. Pengguna dapat berjalan-jalan di beberapa lokasi atau tempat di dalam permainan. Itu saja. Sebenarnya, permainan ini sebaiknya dikembangkan lebih lanjut agar menjadi lebih menarik!
Untuk memainkan permainan ini, Anda perlu membuat sebuah instance (objek) dari kelas ini dan memanggil metode "play".
Kelas utama ini bertanggung jawab untuk membuat dan menginisialisasi semua komponen lain dalam permainan: membuat semua ruangan, membuat parser, dan memulai permainan. Selain itu, kelas ini juga mengevaluasi dan mengeksekusi perintah-perintah yang dikembalikan oleh parser.
4. Class CommandWords
Kelas ini merupakan bagian dari aplikasi "World of Zuul", sebuah permainan petualangan berbasis teks yang sangat sederhana.
Kelas ini menyimpan enumerasi dari semua kata perintah (command words) yang dikenal oleh permainan. Fungsi dari kelas ini adalah untuk mengenali perintah-perintah yang diketik oleh pemain selama permainan berlangsung.
Dengan kata lain, kelas ini memastikan bahwa hanya perintah yang telah dikenali oleh permainan yang bisa dijalankan, dan membantu dalam proses pengenalan perintah yang dimasukkan oleh pengguna.
5. Class Command
Kelas ini merupakan bagian dari aplikasi "World of Zuul", sebuah permainan petualangan berbasis teks yang sangat sederhana.
Kelas ini menyimpan informasi mengenai **perintah** yang diberikan oleh pengguna. Sebuah perintah terdiri dari dua string: kata perintah (command word) dan kata kedua. Sebagai contoh, jika perintah yang dimasukkan adalah "ambil peta", maka kedua string tersebut adalah "ambil" dan "peta".
Penggunaan kelas ini adalah sebagai berikut: Kata perintah (command word) sudah diperiksa apakah valid atau tidak. Jika pengguna memasukkan perintah yang tidak valid (kata yang tidak dikenal), maka kata perintah akan diisi dengan nilai `<null>`.
Jika perintah hanya terdiri dari satu kata, maka kata kedua akan bernilai `<null>`.
How to Run?
1). Compile semua program atau bisa compile main (Game);
2). Klik kanan pada Game -> new Game() -> Masukkan nama instance (cth : game1)
3). Klil kanan dan pilih void play();
4). Beri inputan string
Diagram Class :
Komentar
Posting Komentar