Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider cf30dabe rédigé par Nathan DENIER's avatar Nathan DENIER
Parcourir les fichiers

javadoc

parent 4154ce98
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -2,24 +2,48 @@ package App.Block;
import App.Item.Item;
/**
* La classe abstraite Block représente tous les types de blocks sur le terrain
*/
public abstract class Block{
private int life;
private int life;// Attribut représentant la vie du bloc
/**
* Constructeur de la classe Block.
* @param l La quantité initiale de vie du bloc.
*/
public Block(int l){
life = l;
}
/**
* Méthode abstraite permettant à un bloc de créer un objet loot.
* Les sous-classes doivent implémenter cette méthode selon leurs besoins spécifiques.
* @return Un objet loot généré par le bloc (peut être null).
*/
public Item createLoot(){
return null;
}
/**
* Méthode pour réduire la vie du bloc.
*/
public void loseLife(){
life--;
}
/**
* Méthode pour obtenir la vie actuelle du bloc.
* @return La vie actuelle du bloc.
*/
public int getLife(){
return life;
}
/**
* Méthode pour vérifier si le bloc est mort (vie égale à zéro).
* @return true si le bloc est mort, false sinon.
*/
public boolean isDead(){
return life == 0;
}
......
package App.Block;
// La classe ImbreakableBlock hérite de la classe abstraite Block
public class ImbreakableBlock extends Block{
/**
* Constructeur de la classe ImbreakableBlock.
* Initialise la vie du bloc incassable à -1, indiquant qu'il est indestructible.
*/
public ImbreakableBlock(){
// Appelle le constructeur de la classe parent avec une vie initiale de -1
super(-1);
}
}
\ No newline at end of file
package App.Block;
import App.Item.*;
// La classe OneLifeBlock hérite de la classe abstraite Block
public class OneLifeBlock extends Block{
/**
* Constructeur de la classe OneLifeBlock.
* Initialise la vie du bloc à 1.
*/
public OneLifeBlock(){
// Appelle le constructeur de la classe parent avec une vie initiale de 1
super(1);
}
/**
* Override de la méthode createLoot de la classe parent.
* Génère un objet loot en fonction d'une probabilité.
* @return Un objet loot généré en fonction de la probabilité, ou null s'il n'y a pas de loot.
*/
@Override
public Item createLoot(){
// Génère un nombre aléatoire entre 0 et 100
double rand = Math.random()*100;
// Vérifie la probabilité de générer un Boot
if(rand >= 90 && rand < 95){
return new Boot();
}
// Vérifie la probabilité de générer un Power
if(rand >= 95){
return new Power();
}
// Aucun loot généré si aucune condition n'est satisfaite
return null;
}
}
\ No newline at end of file
package App.Block;
// La classe VoidBlock hérite de la classe abstraite Block
public class VoidBlock extends Block {
/**
* Constructeur de la classe VoidBlock.
* Initialise la vie du bloc à 0, indiquant qu'il est vide.
*/
public VoidBlock(){
// Appelle le constructeur de la classe parent avec une vie initiale de 0
super(0);
}
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter