Senin, 01 Desember 2025

PBO A - Pertemuan 9 - Game World of Zuul

Nama    : Erlangga Rizqi Dwi Raswanto

NRP      : 5025241179

Kelas     : PBO A

Halo, di pertemuan ini saya membuat sebuah game petualangan bernama Game World of Zuul




Dalam project ini terdapat 5 kelas utama, yaitu:

  1. CommandWords
    Menyimpan semua kata perintah (command) yang valid dalam game, misalnya: go, help, quit, look.
    Kelas ini menggunakan array String untuk menampung daftar perintah, dan menyediakan method untuk mengecek apakah sebuah kata termasuk perintah yang valid.

  2. Parser
    Kelas yang bertugas membaca input dari user lewat terminal, memecah input menjadi kata-kata, lalu mengubahnya menjadi objek Command.
    Parser akan mengecek apakah kata pertama termasuk perintah yang dikenal di CommandWords. Jika tidak, command tersebut dianggap tidak dikenal (unknown).

  3. Command
    Objek Command merepresentasikan satu perintah yang diketik user.
    Sebuah perintah terdiri dari:

    • kata pertama (command utama, misalnya: go)

    • kata kedua (argumen, misalnya: north)
      Kelas ini punya method untuk:

    • mengecek apakah command valid atau tidak,

    • mengambil kata pertama,

    • mengambil kata kedua (jika ada).

  4. Room
    Objek Room merepresentasikan lokasi di dalam game.
    Setiap ruangan punya:

    • deskripsi (misalnya "in a lecture theater")

    • pintu keluar (exit) ke arah north, east, south, west yang bisa mengarah ke ruangan lain.

  5. Game
    Ini adalah kelas utama yang menjalankan game.
    Tugasnya:

    • Membuat semua ruangan dan menghubungkan pintu keluarnya.

    • Membuat objek Parser.

    • Menyimpan lokasi ruangan saat ini (currentRoom).

    • Menjalankan game loop (menerima command dari user dan mengeksekusinya).

    • Mengimplementasikan perintah-perintah seperti go, help, dan quit.


Gambaran Cara Kerja Program

Secara umum alur game-nya seperti ini:

  1. Program dijalankan → objek Game dibuat.

  2. Konstruktor Game:

    • memanggil createRooms() untuk membuat ruangan dan menghubungkannya,

    • membuat objek Parser.

  3. User memulai permainan dengan memanggil method play().

  4. Di dalam play(), program:

    • menampilkan pesan sambutan (printWelcome()),

    • masuk ke loop utama:

      • mengambil command dari Parser,

      • memproses command dengan processCommand(),

      • jika user mengetik quit, loop berhenti.

  5. Program berakhir dengan menampilkan pesan perpisahan.

Source Code Game:


Source Code Room:


Source Code Parser:


Source Code Command:

Source Code CommandWords:


Cara Mengimplementasikan dan Menjalankan

Berikut langkah-langkah

  1. Buat objek Game:

    • Klik kanan pada kelas Game → pilih new Game() → beri nama objek, misal game1.

  2. Jalankan game:

    • Klik kanan pada objek game1 → pilih method void play().

  3. Di jendela terminal, masukkan perintah seperti:

    • help

    • go east

    • go south

    • quit


Output :


Tidak ada komentar:

Posting Komentar

PBO A - Pertemuan 15 - Pong!

Nama : Erlangga Rizqi Dwi Raswanto NRP : 5025241179 Kelas : PBO A 1. Pendahuluan Pada pertemuan 15, kita mempraktikkan pembuatan game...