SAe/SAe2.1/commentente/SAé/Case.java

101 lines
2.9 KiB
Java
Raw Permalink Normal View History

2023-05-19 17:13:41 +02:00
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class Case {
//Variables pour stocker les coordonnées x et y de la case, ainsi que son type et sa valeur
protected int valeurX;
protected int valeurY;
public String type;
public int value;
public Case(int x, int y, String t){
this.valeurX = x;
this.valeurY = y;
this.type = t;
}
//Méthode pour obtenir le label de la case
public String getLabel(){
return ("");
}
//Méthode pour obtenir le label des points de vie de la case
public String getLabelPv(){
return ("");
}
//Méthode pour obtenir la valeur de la coordonnée x de la case
public int getValeurX(){
return this.valeurX;
}
//Méthode pour obtenir la valeur de la coordonnée y de la case
public int getValeurY(){
return this.valeurY;
}
//Méthode pour obtenir la valeur de la case
public int getValue(){
return this.value;
}
//Méthode pour définir la valeur de la case
public void setValue(int val){
this.value = val;
}
//Méthode pour obtenir les points de vie de la case
public int getPv(){
return 0;
}
//Méthode pour définir les points de vie de la case
public void setPv(int pdv){
}
//Méthode pour obtenir l'arme de la case
public Arme getArme(){
2023-06-23 13:40:21 +02:00
return new Arme(0, 0, 0, "arme");
2023-05-19 17:13:41 +02:00
}
//Méthode pour définir l'arme de la case
2023-06-23 13:40:21 +02:00
public void setArme(int atk, String type){
2023-05-19 17:13:41 +02:00
2023-06-23 13:40:21 +02:00
}
//Méthode pour obtenir le type de la case
public String getType(){
return this.type;
2023-05-19 17:13:41 +02:00
}
//Méthode pour vérifier si on rencontre une case
public boolean rencontrer(Case c){
return false;
}
//Méthode pour générer une nouvelle case aléatoire
public Case newRandomCase(int x, int y){
Random rand = new Random();
int aleatoire = rand.nextInt(); //Création de la variable aleatoire et incrémentation d'une valeur aléatoire
if(aleatoire < 0){ //Si la valeur de aleatoire est inférieure à 0
aleatoire = -aleatoire; //Alors on change le signe pour qu'il soit positif
}
2023-06-23 13:40:21 +02:00
if (aleatoire % 2 == 0){ //Si le reste de la division d'aleatoire par 2 vaut 0 (donc pair)
aleatoire = rand.nextInt();
if(aleatoire < 0){
aleatoire = -aleatoire;
}
if (aleatoire % 100 < 10){
aleatoire = rand.nextInt();
if(aleatoire < 0){
aleatoire = -aleatoire;
}
return new Monstrefeu(aleatoire % 30 + 51, x, y);
} else if (aleatoire % 100 > 90){
aleatoire = rand.nextInt();
if(aleatoire < 0){
aleatoire = -aleatoire;
}
return new Monstreglace(aleatoire % 30 + 51, x, y);
} else {
aleatoire = rand.nextInt();
if(aleatoire < 0){
aleatoire = -aleatoire;
}
return new Monstre(aleatoire % 30 + 21, x, y);
2023-05-19 17:13:41 +02:00
}
} else {
return new CaseBonus(x, y, "temp").newRandomCaseBonus(x, y);
}
}
}