world of zul

 WORLD OF ZUUL




Command




Kelas Command digunakan untuk merepresentasikan perintah pengguna yang terdiri dari dua kata (misalnya, command dan argument).

Atribut:

  1. commandWord: Kata pertama dari perintah (misalnya, aksi yang ingin dilakukan).
  2. secondWord: Kata kedua dari perintah (opsional, biasanya parameter tambahan).

Metode Utama:

  1. getCommandWord: Mengembalikan kata pertama perintah.
  2. getSecondWord: Mengembalikan kata kedua perintah.
  3. isUnknown: Mengembalikan true jika kata pertama perintah adalah null (perintah tidak dikenal).
  4. hasSecondWord: Mengembalikan true jika kata kedua perintah tidak null.

CommandWords




Kelas CommandWords digunakan untuk memvalidasi apakah sebuah string termasuk dalam daftar perintah yang dikenal.

Atribut:

  • validCommands: Array statis berisi daftar perintah valid, yaitu "go", "quit", dan "help".

Metode Utama:

  • isCommand(String aString):
    • Mengembalikan true jika string yang diberikan ada dalam validCommands.
    • Menggunakan Arrays.asList untuk memeriksa keberadaan string.

Parser




Kelas Parser digunakan untuk membaca dan memproses input pengguna dalam bentuk perintah teks.

Atribut:

  1. commands: Objek CommandWords untuk memvalidasi kata perintah.
  2. reader: Objek Scanner untuk membaca input dari konsol.

Metode Utama:

  • getCommand:
    1. Membaca baris input dari pengguna.
    2. Memisahkan input menjadi dua kata (word1 dan word2) menggunakan Scanner.
    3. Memvalidasi word1 menggunakan CommandWords:
      • Jika valid, mengembalikan objek Command dengan kata-kata tersebut.
      • Jika tidak valid, mengembalikan Command dengan null sebagai kata pertama (menandakan perintah tidak dikenal).

Room



Game

Kelas Room merepresentasikan sebuah ruangan dalam aplikasi, seperti game berbasis teks, dengan deskripsi dan koneksi ke ruangan lainnya.

Atribut:

  1. description: Deskripsi ruangan.
  2. northExit, southExit, eastExit, westExit: Koneksi (keluar) ke ruangan lain di masing-masing arah (utara, selatan, timur, barat).

Metode:

  1. Konstruktor Room(String description):
    • Menginisialisasi deskripsi ruangan.
  2. setExits(Room north, Room east, Room south, Room west):
    • Menetapkan ruangan tetangga di masing-masing arah jika tidak null.
  3. getDescription():
    • Mengembalikan deskripsi ruangan

Game




Kelas Game merepresentasikan logika inti dari permainan teks petualangan "World of Zuul", termasuk pengaturan ruangan, navigasi antar-ruangan, dan pengolahan perintah pemain.

Atribut:

  1. parser: Objek untuk membaca dan memproses perintah pemain.
  2. currentRoom: Ruangan tempat pemain berada saat ini.

Metode Utama:

  1. createRooms():

    • Membuat ruangan-ruangan dalam game dengan deskripsi masing-masing.
    • Menetapkan koneksi antar-ruangan melalui arah keluar (exits).
    • Mengatur ruangan awal sebagai outside.
  2. play():

    • Memulai permainan.
    • Menampilkan pesan selamat datang.
    • Mengolah perintah pemain dalam loop hingga pemain keluar.
  3. processCommand(Command command):

    • Memproses perintah pemain.
    • Mendukung perintah:
      • help: Menampilkan bantuan.
      • go: Berpindah ke ruangan lain.
      • quit: Keluar dari permainan.
  4. goRoom(Command command):

    • Mengarahkan pemain ke ruangan lain berdasarkan perintah arah ("north", "east", "south", "west").
    • Memberi tahu jika tidak ada pintu ke arah yang diminta.
  5. quit(Command command):

    • Mengakhiri permainan jika perintah quit diberikan tanpa kata tambahan.
  6. printWelcome() dan printHelp():

    • Menampilkan pesan awal dan daftar perintah yang tersedia.

Output




Komentar

Postingan populer dari blog ini

ETS PBO

Global User Interface