Class Pemain

java.lang.Object
com.mycompany.extractionshootergui.Pemain

public class Pemain extends Object
Merepresentasikan entitas pemain dalam permainan Extraction Shooter.

Setiap pemain memiliki identitas unik, status kehidupan (Status), senjata yang sedang dipegang (Weapon), amunisi (Peluru), level dan skor, serta ruang penyimpanan inventaris (Inventory). Pemain dapat melakukan berbagai aksi seperti memasuki game, menembak musuh, merampas loot, membeli amunisi, dan meraih kemenangan.

Version:
1.0
Author:
UnggulWindows
  • Constructor Summary

    Constructors
    Constructor
    Description
    Pemain(String idPemain, String nama)
    Mengonstruksi objek Pemain baru dengan ID dan nama yang ditentukan.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Merampas seluruh loot (senjata, barang, dan saldo uang) dari pemain korban yang telah mati.
    boolean
    belanjaPeluru(Peluru peluruBaru)
    Membeli amunisi baru menggunakan saldo dari inventaris.
    void
    Memasangkan (equip) senjata ke tangan pemain untuk digunakan bertempur.
    Mengambil ID pengenal pemain.
    int
    Mengambil level saat ini dari pemain.
    Mengambil nama pemain.
    Mengambil tumpukan amunisi (peluru) yang sedang dibawa pemain.
    int
    Mengambil total skor perolehan pemain.
    Mengambil referensi inventaris (stash) milik pemain.
    Mengambil senjata yang sedang aktif digenggam oleh pemain saat ini.
    boolean
    Memeriksa apakah pemain telah gugur (mati).
    boolean
    Memeriksa apakah pemain telah dinobatkan sebagai pemenang.
    boolean
    Memeriksa apakah pemain sedang aktif bermain di arena.
    void
    Memasukkan pemain ke dalam arena pertandingan.
    void
    Mengubah status pemain menjadi tewas (mati).
    void
    Menyatakan pemain sebagai pemenang pertandingan jika pemain masih hidup.
    boolean
    Melakukan tembakan latihan (tanpa target spesifik).
    boolean
    menembak(Pemain target)
    Menembak pemain lawan (target).
    void
    merampas(Item barang)
    Merampas atau mengambil item bebas (looting) di jalanan secara cuma-cuma.
    void
    Menaikkan level karakter pemain sebanyak satu tingkat.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Pemain

      public Pemain(String idPemain, String nama)
      Mengonstruksi objek Pemain baru dengan ID dan nama yang ditentukan. Menginisialisasi status awal, level 1, skor 0, dan inventaris baru.
      Parameters:
      idPemain - pengenal unik pemain.
      nama - nama tampilan pemain.
  • Method Details

    • masukGame

      public void masukGame()
      Memasukkan pemain ke dalam arena pertandingan. Mengubah status pemain menjadi sedang bermain dan mengalokasikan amunisi default (30 butir) sesuai jenis senjata yang sedang dibawa.
    • menembak

      public boolean menembak()
      Melakukan tembakan latihan (tanpa target spesifik). Memeriksa kelayakan aksi, kecocokan peluru dengan senjata, dan mengurangi 1 butir amunisi.
      Returns:
      true jika tembakan berhasil dieksekusi; false jika gagal.
    • menembak

      public boolean menembak(Pemain target)
      Menembak pemain lawan (target).

      Mengurangi satu butir peluru dan menghitung peluang keberhasilan eliminasi (instan kill) berdasarkan ketajaman peluru yang digunakan. Jika tembakan mematikan, target akan dinyatakan tewas.

      Parameters:
      target - objek Pemain yang menjadi sasaran tembakan.
      Returns:
      true jika tembakan berhasil menewaskan lawan; false jika tembakan meleset, tidak mematikan, atau gagal dieksekusi.
    • mati

      public void mati()
      Mengubah status pemain menjadi tewas (mati). Senjata yang digenggam akan dijatuhkan dan dipindahkan ke dalam inventaris stash pemain.
    • ambilLootDari

      public void ambilLootDari(Pemain korban)
      Merampas seluruh loot (senjata, barang, dan saldo uang) dari pemain korban yang telah mati.
      Parameters:
      korban - objek Pemain yang telah tewas.
    • merampas

      public void merampas(Item barang)
      Merampas atau mengambil item bebas (looting) di jalanan secara cuma-cuma. Menambahkan item ke stash dan memberikan bonus 10 poin skor.
      Parameters:
      barang - objek Item yang dirampas.
    • menang

      public void menang()
      Menyatakan pemain sebagai pemenang pertandingan jika pemain masih hidup. Memberikan tambahan 100 poin skor kemenangan.
    • naikLevel

      public void naikLevel()
      Menaikkan level karakter pemain sebanyak satu tingkat.
    • belanjaPeluru

      public boolean belanjaPeluru(Peluru peluruBaru)
      Membeli amunisi baru menggunakan saldo dari inventaris. Jika jenis peluru sama dengan yang sedang dibawa, jumlah butirnya akan ditambahkan. Jika berbeda, peluru lama akan digantikan oleh peluru baru tersebut.
      Parameters:
      peluruBaru - objek Peluru yang ingin dibeli.
      Returns:
      true jika saldo cukup dan pembelian sukses; false jika saldo kurang.
    • equipWeapon

      public void equipWeapon(Weapon weapon)
      Memasangkan (equip) senjata ke tangan pemain untuk digunakan bertempur.
      Parameters:
      weapon - objek Weapon yang akan dipasang.
    • getWeapon

      public Weapon getWeapon()
      Mengambil senjata yang sedang aktif digenggam oleh pemain saat ini.
      Returns:
      objek Weapon yang sedang aktif, atau null jika tidak memegang senjata.
    • getIdPemain

      public String getIdPemain()
      Mengambil ID pengenal pemain.
      Returns:
      kode ID pemain.
    • getNama

      public String getNama()
      Mengambil nama pemain.
      Returns:
      nama pemain.
    • isSedangBermain

      public boolean isSedangBermain()
      Memeriksa apakah pemain sedang aktif bermain di arena.
      Returns:
      true jika sedang bermain; sebaliknya false.
    • isMenang

      public boolean isMenang()
      Memeriksa apakah pemain telah dinobatkan sebagai pemenang.
      Returns:
      true jika menang; sebaliknya false.
    • isMati

      public boolean isMati()
      Memeriksa apakah pemain telah gugur (mati).
      Returns:
      true jika sudah mati; sebaliknya false.
    • getPeluru

      public Peluru getPeluru()
      Mengambil tumpukan amunisi (peluru) yang sedang dibawa pemain.
      Returns:
      objek Peluru yang dibawa, atau null jika kosong.
    • getLevel

      public int getLevel()
      Mengambil level saat ini dari pemain.
      Returns:
      tingkat level pemain.
    • getScore

      public int getScore()
      Mengambil total skor perolehan pemain.
      Returns:
      nilai skor pemain.
    • getStash

      public Inventory getStash()
      Mengambil referensi inventaris (stash) milik pemain.
      Returns:
      objek Inventory pemain.