Skip to content

Commit

Permalink
v2.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
katia_auxilien committed Jan 18, 2025
1 parent 8646e97 commit ef902eb
Show file tree
Hide file tree
Showing 49 changed files with 2,357 additions and 384 deletions.
Binary file added docs/Auxilien_ElHaddad_Rapport_Sae.pdf
Binary file not shown.
71 changes: 64 additions & 7 deletions main/Arme.java
Original file line number Diff line number Diff line change
@@ -1,42 +1,99 @@
import java.util.Random;

/**
* <b> Sae partie 1 </b> : Arme() hérite de CaseBonus.
* <b> Sae partie 2 </b> : Arme().
*
* @version 1
* @version 2
* @author Nassim EL HADDAD & Katia AUXILIEN
**/
public class Arme extends CaseBonus {
protected int valmax;

/**
* Constructeur de l'arme.
* Constructeur de l'arme.
* @param diff, variable issue du choix de l'utilisateur dans le menu des options
*
**/
public Arme() {
public Arme(float diff) {
super();
if (diff == 1) {
Random random = new Random();
this.valeur = random.nextInt(25) + 10;
this.valmax = this.valeur;
}
if (diff == 2) {
Random random = new Random();
this.valeur = random.nextInt(16) + 5;
this.valmax = this.valeur;
}
if (diff == 3) {
Random random = new Random();
this.valeur = random.nextInt(12) + 2;
this.valmax = this.valeur;
}
}

/**
* Getter de la classe Arme pour récupérer sa valeur initiale.
*
*
* @return retourne en entier la valeur intiale de l'arme (donc sa puissance de début).
**/
public int getValInitiaux()
{
return this.valmax;
}

/**
* Setter de la classe Arme pour renouveller sa valeur.
*
* @param nouvVal int nouvelle valeur de l'arme.
* @return void.
**/
public void setValeur(int nouvVal) {
this.valeur = nouvVal;
}

/**
* Setter de la classe Arme pour renouveller sa valeur max.
*
* @param nouvValmax int nouvelle valeur max de l'arme.
* @return void.
**/
public void setValeurMax(int nouvValmax) {
this.valmax = nouvValmax;
}

/**
* Getter de la classe Arme dans le cadre d'une utilisation de JLabel.
*
*
* @return la chaine de caractères "Arme".
**/
@Override
public String getLabel() {
return "Arme";
}

/**
* Getter de la classe Arme pour récupérer sa valeur.
*
*
* @return retourne en entier la valeur de l'arme (donc sa puissance).
**/
@Override
public int getValeur() {
return this.valeur;
}

/** Remarques :
* Arme() hérite aussi de public String getLabelPV() mais une Arme n'a pas de PV.
**/
/**
* Getter de la classe Arme pour récupérer sa description.
*
*
* @return retourne une chaine de caractere, une description de l'arme.
**/
@Override
public String getDescription() {
return "<html>Une arme basique, <br>je vais pouvoir me <br>défendre des ennemis <br>qui me barreront la route.</html>";
}
}
120 changes: 90 additions & 30 deletions main/Case.java
Original file line number Diff line number Diff line change
@@ -1,77 +1,137 @@
/**
* <b> Sae partie 1 </b> : Case() superclasse.
* <b> Sae partie 2 </b> : Case()
*
* @version 1
* @version 2
* @author Nassim EL HADDAD & Katia AUXILIEN
**/

public class Case {
protected int valeur;

protected boolean visible;

/**
* Constructeur d'une Case, caractérisée par sa valeur.
*
**/
public Case() {
public Case()
{
this.valeur = 0;
}

/**
* Getter de la case pour l'utilisation d'un JLabel.
*
* @return retourne une chaine de caractères. ("vide" car Case() est une superclasse).
*
* @return retourne une chaine de caractères. ("vide" car Case() est une
* superclasse).
**/
public String getLabel() {
return "Vide";
public String getLabel()
{
return "";
}

/**
* Getter de la case getLabelPV pour l'utilisation d'un JLabel.
*
* @return retourne la chaine de caractères correspondant à ses pv (0 car c'est une superclasse).
*
*
* @return retourne la chaine de caractères correspondant à ses pv (0 car c'est
* une superclasse).
**/
public String getLabelPv() {
return "0";
public String getLabelPv()
{
return "";
}

/**
* Getter, obtenir les pv's d'un monstre.
*
*
* @return retourne les pv's du monstre.
*/
public int getIntPv() {
return 0;
}

/**
* Getter de la case getValeur.
*
*
* @return retourne sa valeur (0 car c'est une superclasse).
*
*
**/
public int getValeur() {
return 0;
public int getValeur()
{
return this.valeur;
}

/**
* Getter de la case getIntPV.
* Setter de la visibilité d'une case, utilisee lors des combats contre
* Gloculaire
*
* @return retourne son nombre de PV (0 car c'est une superclasse).
* @param v, booleen determinant si oui ou non la case est visible.
* @return void
**/
public void setVisibilite(boolean nvVisib)
{
this.visible = nvVisib;
}

/**
* Getter de la visibilite d'une case
*
*
* @return boolean la variable visible.
*
**/
public int getIntPv() {
return 0;
public boolean getVisibilite()
{
return visible;
}

/**
* Getter de la description d'une case
*
*
* @return String chaine de caractere
*
**/
public String getDescription()
{
return "Une case simple.";
}

/**
* Genere une nouvelle "Case", d'une classe enfant, aléatoirement.
*
* @return Une case, d'un type de classe enfant, en fonction du reel rand selon des probabilites determinees
* à l'avance pour générer un monstre (classe enfant de Case), de l'or, une arme ou une potion (Classes enfants de CaseBonus elle même Classe enfant).
*
* @param niveau variable issue du choix de l'utilisateur dans le menu des options
* @return Case Une case, d'un type de classe enfant, en fonction du reel rand selon
* des probabilites determinees
* à l'avance pour générer des types de monstres, des types d'arme et
* des types de soin.
*
**/
public static Case newRandomCase() {
public static Case newRandomCase(float niveau)
{
double rand = Math.random();
if (rand < 0.5) {
return new Monstre();
} else if (rand < 0.7) {
return new Or();
} else if (rand < 0.875) {
return new Arme();
if (rand < 0.04) {
return new ChefDesAbysses(niveau);
} else if (rand < 0.14) {
return new Gloculaire(niveau);
} else if (rand < 0.24) {
return new Gobelin(niveau);
} else if (rand < 0.40) {
return new Squelette(niveau);
} else if (rand < 0.60) {
return new Or(niveau);
} else if (rand < 0.63) {
return new EpeeLegendaire(niveau);
} else if (rand < 0.69) {
return new Hache(niveau);
} else if (rand < 0.77) {
return new Dague(niveau);
} else if (rand < 0.92) {
return new Potion(niveau);
} else {
return new Potion();
return new FeuCamp();
}
}

Expand Down
50 changes: 33 additions & 17 deletions main/CaseBonus.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
/**
* <b> Sae partie 1 </b> : CaseBonus(), classe enfant de Case.
* <b> Sae partie 2 </b> : CaseBonus()
*
* @version 1
* @version 2
* @author Nassim EL HADDAD & Katia AUXILIEN
*/

public class CaseBonus extends Case {
/**

/**
* Constructeur de la case bonus, surcharge si il y a une valeur en argument.
*
* @param valeur de la CaseBonus en entier.
* @param valeur, valeur de la CaseBonus.
* @return rien
**/
public CaseBonus(int valeur) {
this.valeur = valeur;
Expand All @@ -26,20 +26,36 @@ public CaseBonus() {
/**
* Genere une nouvelle "CaseBonus", d'une classe enfant, aléatoirement.
*
* @return Une case, d'un type de classe enfant, en fonction du reel rand selon des probabilites determinees
* à l'avance pour générer de l'or, une arme ou une potion (Classes enfants de CaseBonus).
*
* @param niveau, variable issue du choix de l'utilisateur dans le menu des
* options
* @return Une case, d'un type de classe enfant, en fonction du reel rand selon
* des probabilites determinees
* à l'avance pour générer de l'or, une arme ou une potion (Classes
* enfants de CaseBonus).
*
**/
public static Case newRandomCase() {
public static Case newRandomCase(float niveau) {
double rand = Math.random();
if (rand < 0.4) {
return new Or();
} else if (rand < 0.35) {
return new Arme();
} else if (rand < 0.25) {
return new Potion();
if (rand < 0.04) {
return new ChefDesAbysses(niveau);
} else if (rand < 0.14) {
return new Gloculaire(niveau);
} else if (rand < 0.24) {
return new Gobelin(niveau);
} else if (rand < 0.40) {
return new Squelette(niveau);
} else if (rand < 0.60) {
return new Or(niveau);
} else if (rand < 0.63) {
return new EpeeLegendaire(niveau);
} else if (rand < 0.69) {
return new Hache(niveau);
} else if (rand < 0.77) {
return new Dague(niveau);
} else if (rand < 0.92) {
return new Potion(niveau);
} else {
return new CaseBonus();
return new FeuCamp();
}
}

Expand Down
Loading

0 comments on commit ef902eb

Please sign in to comment.