Package utils

Class GenererMonde

java.lang.Object
utils.GenererMonde

public class GenererMonde extends Object
Classe utilitaire servant à générer dynamiquement un monde de jeu, en plaçant des obstacles, des monstres et des coffres contenant des objets.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final Carte
    Référence vers la carte générée (structure de toutes les cases du monde).
    private final int
    Hauteur de la carte générée (nombre de lignes).
    private final List<Item>
    Liste de tous les objets générés aléatoirement (hors coffres).
    private final int
    Largeur de la carte générée (nombre de colonnes).
    private final List<Monstre>
    Liste de tous les monstres placés sur la carte.
    private final int
    Probabilité (en pourcentage, 0-100) de générer une case d'eau (obstacle EAU).
    private final int
    Probabilité (en pourcentage, 0-100) de générer une case de forêt (obstacle FORET).
    private final int
    Probabilité (en pourcentage, 0-100) de générer une case rocheuse (obstacle ROCHE).
    private final Random
    Générateur aléatoire utilisé pour placer obstacles, monstres et objets.
  • Constructor Summary

    Constructors
    Constructor
    Description
    GenererMonde(int largeurCarte, int hauteurCarte, int nbMonstres, int nbCoffres, int nbItemsPool, int pctEau, int pctForet, int pctRoche)
    Constructeur de la classe GenererMonde.
  • Method Summary

    Modifier and Type
    Method
    Description
    private void
    genererItems(int count)
    Génère aléatoirement un ensemble d’objets (items) avec des bonus variables.
    Retourne la carte générée.
    Retourne le pool global des objets disponibles.
    Retourne la liste immuable des monstres présents dans le monde.
    private void
    placerCoffres(int nbCoffres)
    Place des coffres aléatoirement sur des cases franchissables.
    private void
    placerMonstres(int nbMonstres)
    Génère les monstres avec caractéristiques aléatoires, les place sur la carte et leur ajoute une potion de soin.
    private void
    Place aléatoirement des obstacles (eau, forêt, roche) sur la carte selon les pourcentages spécifiés dans le constructeur.

    Methods inherited from class java.lang.Object

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

    • largeur

      private final int largeur
      Largeur de la carte générée (nombre de colonnes).
    • hauteur

      private final int hauteur
      Hauteur de la carte générée (nombre de lignes).
    • probEau

      private final int probEau
      Probabilité (en pourcentage, 0-100) de générer une case d'eau (obstacle EAU).
    • probForet

      private final int probForet
      Probabilité (en pourcentage, 0-100) de générer une case de forêt (obstacle FORET).
    • probRoche

      private final int probRoche
      Probabilité (en pourcentage, 0-100) de générer une case rocheuse (obstacle ROCHE).
    • carte

      private final Carte carte
      Référence vers la carte générée (structure de toutes les cases du monde).
    • monstres

      private final List<Monstre> monstres
      Liste de tous les monstres placés sur la carte.
    • items

      private final List<Item> items
      Liste de tous les objets générés aléatoirement (hors coffres).
    • random

      private final Random random
      Générateur aléatoire utilisé pour placer obstacles, monstres et objets.
  • Constructor Details

    • GenererMonde

      public GenererMonde(int largeurCarte, int hauteurCarte, int nbMonstres, int nbCoffres, int nbItemsPool, int pctEau, int pctForet, int pctRoche)
      Constructeur de la classe GenererMonde. Initialise une carte avec des obstacles, des monstres et des coffres.
      Parameters:
      largeurCarte - largeur de la carte
      hauteurCarte - hauteur de la carte
      nbMonstres - nombre total de monstres à générer
      nbCoffres - nombre total de coffres à placer
      nbItemsPool - nombre d'objets différents dans le pool global
      pctEau - pourcentage de cases avec de l'eau
      pctForet - pourcentage de cases avec de la forêt
      pctRoche - pourcentage de cases avec de la roche
  • Method Details

    • getCarte

      public Carte getCarte()
      Retourne la carte générée.
      Returns:
      la carte de jeu
    • getMonstres

      public List<Monstre> getMonstres()
      Retourne la liste immuable des monstres présents dans le monde.
      Returns:
      liste des monstres
    • getItemsPool

      public List<Item> getItemsPool()
      Retourne le pool global des objets disponibles.
      Returns:
      liste des objets
    • genererItems

      private void genererItems(int count)
      Génère aléatoirement un ensemble d’objets (items) avec des bonus variables. Chaque objet a un type, un nom, un prix et des bonus d’équipement.
      Parameters:
      count - nombre d’objets à générer
    • placerObstacles

      private void placerObstacles()
      Place aléatoirement des obstacles (eau, forêt, roche) sur la carte selon les pourcentages spécifiés dans le constructeur.
    • placerMonstres

      private void placerMonstres(int nbMonstres)
      Génère les monstres avec caractéristiques aléatoires, les place sur la carte et leur ajoute une potion de soin.
      Parameters:
      nbMonstres - nombre de monstres à générer
    • placerCoffres

      private void placerCoffres(int nbCoffres)
      Place des coffres aléatoirement sur des cases franchissables. Chaque coffre contient un objet aléatoire du pool global.
      Parameters:
      nbCoffres - nombre total de coffres à placer