Package modele.objet

Class Inventaire

java.lang.Object
modele.objet.Inventaire
All Implemented Interfaces:
Serializable

public class Inventaire extends Object implements Serializable
Représente l'inventaire d'un joueur, contenant à la fois les objets ramassés (potions, divers objets) et les équipements (arme, armure, etc.). Gère aussi la monnaie (or) du joueur.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Identifiant de version pour la sérialisation.
      See Also:
    • objets

      private final List<Item> objets
      Liste des objets transportés (dans le sac à dos du joueur).
    • or

      private int or
      Quantité d'or possédée par le joueur.
    • armeEmplacement

      private Item armeEmplacement
      Emplacement de l'arme équipée (slot unique).
    • armureEmplacement

      private Item armureEmplacement
      Emplacement de l'armure équipée (slot unique).
    • bouclierEmplacement

      private Item bouclierEmplacement
      Emplacement du bouclier équipé (slot unique).
    • casqueEmplacement

      private Item casqueEmplacement
      Emplacement du casque équipé (slot unique).
    • amuletteEmplacement

      private Item amuletteEmplacement
      Emplacement de l'amulette équipée (slot unique).
    • bagueEmplacement

      private Item bagueEmplacement
      Emplacement de la bague équipée (slot unique).
  • Constructor Details

    • Inventaire

      public Inventaire()
      Constructeur par défaut. Initialise un inventaire vide avec 100 pièces d'or et tous les slots d'équipement à vide (null).
  • Method Details

    • equiperObjet

      public boolean equiperObjet(Joueur joueur, Item item)
      Tente d'équiper un objet (arme, armure...) s'il est compatible et que le slot est libre. Applique les bonus sur le joueur si réussite, puis retire l'objet de l'inventaire.
      Parameters:
      joueur - Le joueur qui tente d'équiper l'objet.
      item - L'objet à équiper.
      Returns:
      true si l'objet est équipé, false sinon.
    • desequiperObjet

      public boolean desequiperObjet(Joueur joueur, Item.ItemType type)
      Déséquipe un objet d'un emplacement donné, retire les bonus, et remet l'objet dans l'inventaire.
      Parameters:
      joueur - Le joueur concerné.
      type - Le type de l'objet à déséquiper (voir ItemType).
      Returns:
      true si l'objet a été déséquipé, false sinon.
    • appliquerBonus

      public boolean appliquerBonus(Joueur joueur, Item item)
      Applique les bonus d’un objet au joueur (augmente ses caractéristiques).
      Parameters:
      joueur - Le joueur concerné.
      item - L’objet à utiliser.
      Returns:
      true si les bonus ont été appliqués.
    • retirerBonus

      public boolean retirerBonus(Joueur joueur, Item item)
      Retire les bonus d’un objet au joueur (diminue ses caractéristiques).
      Parameters:
      joueur - Le joueur concerné.
      item - L’objet à retirer.
      Returns:
      true si les bonus ont été retirés.
    • ajouterObjet

      public boolean ajouterObjet(Item item)
      Ajoute un objet à l’inventaire. Si c'est de l'or, l’ajoute à la monnaie.
      Parameters:
      item - Objet à ajouter.
      Returns:
      true si l’objet a été ajouté.
    • retirerObjet

      public boolean retirerObjet(Item item)
      Retire un objet de l’inventaire (ne vérifie pas les slots équipés).
      Parameters:
      item - L’objet à retirer.
      Returns:
      true si l’objet a été retiré.
    • chercherEquipementParId

      public Item chercherEquipementParId(int id)
      Cherche un objet équipé via son ID dans les slots d’équipement.
      Parameters:
      id - L'identifiant de l’objet.
      Returns:
      L’objet trouvé, ou null si absent.
    • jeterObjet

      public boolean jeterObjet(int itemId)
      Supprime un objet de l’inventaire via son ID.
      Parameters:
      itemId - ID de l’objet à jeter.
      Returns:
      true si jeté, false sinon.
    • utiliserObjet

      public boolean utiliserObjet(Joueur joueur, int itemId)
      Utilise un objet consommable de type POTION ou DIVERS. Applique ses bonus, puis le retire de l’inventaire.
      Parameters:
      joueur - Le joueur concerné.
      itemId - ID de l’objet à utiliser.
      Returns:
      true si utilisé, false sinon.
    • chercherObjetParId

      public Item chercherObjetParId(int id)
      Recherche un objet dans l’inventaire via son ID.
      Parameters:
      id - L’identifiant unique.
      Returns:
      L’objet trouvé ou null.
    • ajouterOr

      public boolean ajouterOr(int or)
      Ajoute de l’or à la réserve du joueur.
      Parameters:
      or - Quantité à ajouter.
      Returns:
      true toujours (ajout réalisé).
    • retirerOr

      public boolean retirerOr(int or)
      Retire de l’or de la réserve du joueur.
      Parameters:
      or - Quantité à retirer.
      Returns:
      true toujours (le solde peut devenir négatif).
    • toJSONInventaireSeulement

      public String toJSONInventaireSeulement()
      Sérialise uniquement les objets de l’inventaire (hors équipements).
      Returns:
      Représentation JSON de l’inventaire.
    • toJSONEquipementsSeulement

      public String toJSONEquipementsSeulement()
      Sérialise uniquement les équipements portés (slots).
      Returns:
      Représentation JSON des équipements (arme, armure, etc.).
    • getOr

      public int getOr()
      Retourne la quantité d’or possédée.
      Returns:
      Montant actuel d’or.
    • setOr

      public void setOr(int or)
      Définit la quantité d’or.
      Parameters:
      or - Nouvelle quantité.
    • getArmeEmplacement

      public Item getArmeEmplacement()
      Retourne l’objet équipé comme arme, ou null si aucun.
      Returns:
      L’objet équipé comme arme, ou null si aucun.
    • setArmeEmplacement

      public void setArmeEmplacement(Item armeEmplacement)
      Définit l’arme équipée (slot).
      Parameters:
      armeEmplacement - Arme à équiper.
    • getArmureEmplacement

      public Item getArmureEmplacement()
      Retourne l’armure équipée, ou null si aucune.
      Returns:
      L’armure équipée, ou null si aucune.
    • setArmureEmplacement

      public void setArmureEmplacement(Item armureEmplacement)
      Définit l’armure équipée (slot).
      Parameters:
      armureEmplacement - Armure à équiper.
    • getBouclierEmplacement

      public Item getBouclierEmplacement()
      Retourne le bouclier équipé, ou null si aucun.
      Returns:
      Le bouclier équipé, ou null si aucun.
    • setBouclierEmplacement

      public void setBouclierEmplacement(Item bouclierEmplacement)
      Définit le bouclier équipé (slot).
      Parameters:
      bouclierEmplacement - Bouclier à équiper.
    • getCasqueEmplacement

      public Item getCasqueEmplacement()
      Retourne le casque équipé, ou null si aucun.
      Returns:
      Le casque équipé, ou null si aucun.
    • setCasqueEmplacement

      public void setCasqueEmplacement(Item casqueEmplacement)
      Définit le casque équipé (slot).
      Parameters:
      casqueEmplacement - Casque à équiper.
    • getAmuletteEmplacement

      public Item getAmuletteEmplacement()
      Retourne l’amulette équipée, ou null si aucune.
      Returns:
      L’amulette équipée, ou null si aucune.
    • setAmuletteEmplacement

      public void setAmuletteEmplacement(Item amuletteEmplacement)
      Définit l’amulette équipée (slot).
      Parameters:
      amuletteEmplacement - Amulette à équiper.
    • getBagueEmplacement

      public Item getBagueEmplacement()
      Retourne la bague équipée, ou null si aucune.
      Returns:
      La bague équipée, ou null si aucune.
    • setBagueEmplacement

      public void setBagueEmplacement(Item bagueEmplacement)
      Définit la bague équipée (slot).
      Parameters:
      bagueEmplacement - Bague à équiper.
    • getObjets

      public List<Item> getObjets()
      Retourne la liste d’objets (sac à dos).
      Returns:
      Objets de l’inventaire.