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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|