if(this.tableauCase[xHeros][yHeros].getArme().getType().equals("armeglace")&&this.tableauCase[xNew][yNew].getType().equals("monstrefeu")){// Vérifie si la valeur de l'arme du héros est supérieure aux points de vie de la case
this.tableauCase[xNew][yNew]=newOr(this.tableauCase[xNew][yNew].getPv(),xNew,yNew);//Remplace la case par une case "Or" avec la valeur des points de vie
//Met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
this.plateau.update(this.tableauCase[i][j],i,j);
}
}return;
}elseif(this.tableauCase[xHeros][yHeros].getArme().getType().equals("armefeu")&&this.tableauCase[xNew][yNew].getType().equals("monstreglace")){// Vérifie si la valeur de l'arme du héros est supérieure aux points de vie de la case
this.tableauCase[xNew][yNew]=newOr(this.tableauCase[xNew][yNew].getPv(),xNew,yNew);//Remplace la case par une case "Or" avec la valeur des points de vie
//Met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
this.plateau.update(this.tableauCase[i][j],i,j);
}
}return;
}
elseif(this.tableauCase[xHeros][yHeros].getArme().getValue()*2>this.tableauCase[xNew][yNew].getPv()){// Vérifie si la valeur de l'arme du héros est supérieure aux points de vie de la case
tempZ=this.tableauCase[xNew][yNew].getPv();//Réduit la valeur de l'arme du héros de la valeur des points de vie de la case
this.tableauCase[xNew][yNew]=newOr(this.tableauCase[xNew][yNew].getPv(),xNew,yNew);//Remplace la case par une case "Or" avec la valeur des points de vie
this.tableauCase[xNew][yNew].setPv(this.tableauCase[xNew][yNew].getPv()-(this.tableauCase[xHeros][yHeros].getArme().getValue())*2);//Réduit les points de vie de la case par la valeur de l'arme du héros
if(this.tableauCase[xHeros][yHeros].getArme().getType().equals("armeglace")&&this.tableauCase[xNew][yNew].getType().equals("monstrefeu")){// Vérifie si la valeur de l'arme du héros est supérieure aux points de vie de la case
this.tableauCase[xNew][yNew]=newOr(this.tableauCase[xNew][yNew].getPv(),xNew,yNew);//Remplace la case par une case "Or" avec la valeur des points de vie
//Met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
this.plateau.update(this.tableauCase[i][j],i,j);
}
}return;
}
elseif(this.tableauCase[xHeros][yHeros].getArme().getType().equals("armefeu")&&this.tableauCase[xNew][yNew].getType().equals("monstreglace")){// Vérifie si la valeur de l'arme du héros est supérieure aux points de vie de la case
this.tableauCase[xNew][yNew]=newOr(this.tableauCase[xNew][yNew].getPv(),xNew,yNew);//Remplace la case par une case "Or" avec la valeur des points de vie
//Met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
this.plateau.update(this.tableauCase[i][j],i,j);
}
}return;
}
elseif(this.tableauCase[xHeros][yHeros].getArme().getValue()*0.8>this.tableauCase[xNew][yNew].getPv()){// Vérifie si la valeur de l'arme du héros est supérieure aux points de vie de la case
tempZ=this.tableauCase[xNew][yNew].getPv();//Réduit la valeur de l'arme du héros de la valeur des points de vie de la case
this.tableauCase[xNew][yNew]=newOr(this.tableauCase[xNew][yNew].getPv(),xNew,yNew);//Remplace la case par une case "Or" avec la valeur des points de vie
this.tableauCase[xNew][yNew].setPv(this.tableauCase[xNew][yNew].getPv()-(this.tableauCase[xHeros][yHeros].getArme().getValue())*80/100);//Réduit les points de vie de la case par la valeur de l'arme du héros
if(this.tableauCase[xHeros][yHeros].getArme().getType().equals("armeglace")&&this.tableauCase[xNew][yNew].getType().equals("monstrefeu")){// Vérifie si la valeur de l'arme du héros est supérieure aux points de vie de la case
this.tableauCase[xNew][yNew]=newOr(this.tableauCase[xNew][yNew].getPv(),xNew,yNew);//Remplace la case par une case "Or" avec la valeur des points de vie
//Met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
this.plateau.update(this.tableauCase[i][j],i,j);
}
}return;
}
elseif(this.tableauCase[xHeros][yHeros].getArme().getType().equals("armefeu")&&this.tableauCase[xNew][yNew].getType().equals("monstreglace")){// Vérifie si la valeur de l'arme du héros est supérieure aux points de vie de la case
this.tableauCase[xNew][yNew]=newOr(this.tableauCase[xNew][yNew].getPv(),xNew,yNew);//Remplace la case par une case "Or" avec la valeur des points de vie
//Met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
this.plateau.update(this.tableauCase[i][j],i,j);
}
}return;
}
elseif(this.tableauCase[xHeros][yHeros].getArme().getValue()>this.tableauCase[xNew][yNew].getPv()){// Vérifie si la valeur de l'arme du héros est supérieure aux points de vie de la case
tempZ=this.tableauCase[xNew][yNew].getPv();//Réduit la valeur de l'arme du héros de la valeur des points de vie de la case
this.tableauCase[xNew][yNew]=newOr(this.tableauCase[xNew][yNew].getPv(),xNew,yNew);//Remplace la case par une case "Or" avec la valeur des points de vie
this.tableauCase[xNew][yNew].setPv(this.tableauCase[xNew][yNew].getPv()-this.tableauCase[xHeros][yHeros].getArme().getValue());//Réduit les points de vie de la case par la valeur de l'arme du héros
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
if(this.tableauCase[xNew][yNew].type.equals("arme")){//Vérifie si la case aux nouvelles coordonnées est de type "arme"
if(this.tableauCase[xHeros][yHeros].getArme().getValue()<this.tableauCase[xNew][yNew].getValue()){//Vérifie si la valeur de l'arme du héros est inférieure à la valeur de l'arme de la case
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
if(this.tableauCase[xNew][yNew].type.equals("armeglace")){//Vérifie si la case aux nouvelles coordonnées est de type "arme"
if(this.tableauCase[xHeros][yHeros].getArme().getValue()<this.tableauCase[xNew][yNew].getValue()){//Vérifie si la valeur de l'arme du héros est inférieure à la valeur de l'arme de la case
this.tableauCase[xHeros][yHeros].setArme(this.tableauCase[xNew][yNew].getValue(),"armeglace");//Si c'est le cas, le héros récupère l'arme de la case
this.points+=this.tableauCase[xNew][yNew].getValue();//Ajoute la valeur de la case aux points du héros et met à jour la vue du plateau
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
if(this.tableauCase[xNew][yNew].type.equals("armefeu")){//Vérifie si la case aux nouvelles coordonnées est de type "arme"
if(this.tableauCase[xHeros][yHeros].getArme().getValue()<this.tableauCase[xNew][yNew].getValue()){//Vérifie si la valeur de l'arme du héros est inférieure à la valeur de l'arme de la case
this.tableauCase[xHeros][yHeros].setArme(this.tableauCase[xNew][yNew].getValue(),"armefeu");//Si c'est le cas, le héros récupère l'arme de la case
this.points+=this.tableauCase[xNew][yNew].getValue();//Ajoute la valeur de la case aux points du héros et met à jour la vue du plateau
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
//On met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
this.plateau.update(this.tableauCase[i][j],i,j);
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
}
}
//On met à jour les coordonnées du héros
xHeros=xNew;
yHeros=yNew;
}
if(this.tableauCase[xNew][yNew].type.equals("monstre")){//Vérifie si la case aux nouvelles coordonnées est de type "monstre"
this.tableauCase[xHeros][yHeros].setPv(this.tableauCase[xHeros][yHeros].getPv()-(this.tableauCase[xNew][yNew].getPv())/2);//Réduit les points de vie du héros par la valeur des points de vie du monstre
if(this.tableauCase[xHeros][yHeros].getPv()<=0){//Si les points de vie du héros sont inférieurs ou égaux à 0, affiche un message de Game Over et termine le jeu
System.out.println("GameOver, votre score final est de : "+this.points);
this.dispose();
}else{
this.points+=this.tableauCase[xNew][yNew].getPv();//Ajoute la valeur de la case aux points du héros et met à jour la vue du plateau
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
//On met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
this.plateau.update(this.tableauCase[i][j],i,j);
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
}
}
//On met à jour les coordonnées du héros
xHeros=xNew;
yHeros=yNew;
}
}else{
this.tableauCase[xHeros][yHeros].setPv(this.tableauCase[xHeros][yHeros].getPv()-this.tableauCase[xNew][yNew].getPv());//Réduit les points de vie du héros par la valeur des points de vie du monstre
if(this.tableauCase[xHeros][yHeros].getPv()<=0){//Si les points de vie du héros sont inférieurs ou égaux à 0, affiche un message de Game Over et termine le jeu
System.out.println("GameOver, votre score final est de : "+this.points);
this.dispose();
}else{
this.points+=this.tableauCase[xNew][yNew].getPv();//Ajoute la valeur de la case aux points du héros et met à jour la vue du plateau
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
//On met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
this.plateau.update(this.tableauCase[i][j],i,j);
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
}
}
//On met à jour les coordonnées du héros
xHeros=xNew;
yHeros=yNew;
}
}
}
if(this.tableauCase[xNew][yNew].type.equals("monstreglace")){//Vérifie si la case aux nouvelles coordonnées est de type "monstre"
this.tableauCase[xHeros][yHeros].setPv(this.tableauCase[xHeros][yHeros].getPv()-(this.tableauCase[xNew][yNew].getPv())/2);//Réduit les points de vie du héros par la valeur des points de vie du monstre
if(this.tableauCase[xHeros][yHeros].getPv()<=0){//Si les points de vie du héros sont inférieurs ou égaux à 0, affiche un message de Game Over et termine le jeu
System.out.println("GameOver, votre score final est de : "+this.points);
this.dispose();
}else{
Randomrand=newRandom();
intaleatoire=rand.nextInt();
if(aleatoire<0){
aleatoire=-aleatoire;
}
if(aleatoire%100<20){
System.out.println("Vous avez été gelé !");
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
this.plateau.update(this.tableauCase[i][j],i,j);
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
}
}
}else{
this.points+=this.tableauCase[xNew][yNew].getPv();//Ajoute la valeur de la case aux points du héros et met à jour la vue du plateau
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
//On met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
this.plateau.update(this.tableauCase[i][j],i,j);
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
}
}//On met à jour les coordonnées du héros
xHeros=xNew;
yHeros=yNew;
}
}
}else{
this.tableauCase[xHeros][yHeros].setPv(this.tableauCase[xHeros][yHeros].getPv()-this.tableauCase[xNew][yNew].getPv());//Réduit les points de vie du héros par la valeur des points de vie du monstre
if(this.tableauCase[xHeros][yHeros].getPv()<=0){//Si les points de vie du héros sont inférieurs ou égaux à 0, affiche un message de Game Over et termine le jeu
System.out.println("GameOver, votre score final est de : "+this.points);
this.dispose();
}else{
Randomrand=newRandom();
intaleatoire=rand.nextInt();
if(aleatoire<0){
aleatoire=-aleatoire;
}
if(aleatoire%100<20){
System.out.println("Vous avez été gelé !");
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
this.plateau.update(this.tableauCase[i][j],i,j);
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
}
}
}else{
this.points+=this.tableauCase[xNew][yNew].getPv();//Ajoute la valeur de la case aux points du héros et met à jour la vue du plateau
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
//On met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
this.plateau.update(this.tableauCase[i][j],i,j);
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
}
}//On met à jour les coordonnées du héros
xHeros=xNew;
yHeros=yNew;
}
}
}
}
if(this.tableauCase[xNew][yNew].type.equals("monstrefeu")){//Vérifie si la case aux nouvelles coordonnées est de type "monstre"
this.tableauCase[xHeros][yHeros].setPv(this.tableauCase[xHeros][yHeros].getPv()-(((this.tableauCase[xNew][yNew].getPv())/2)+(this.tableauCase[xHeros][yHeros].getPv()*20)/100));//Réduit les points de vie du héros par la valeur des points de vie du monstre
if(this.tableauCase[xHeros][yHeros].getPv()<=0){//Si les points de vie du héros sont inférieurs ou égaux à 0, affiche un message de Game Over et termine le jeu
System.out.println("GameOver, votre score final est de : "+this.points);
this.dispose();
}else{
this.points+=this.tableauCase[xNew][yNew].getPv();//Ajoute la valeur de la case aux points du héros et met à jour la vue du plateau
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
//On met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
this.plateau.update(this.tableauCase[i][j],i,j);
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
}
}
//On met à jour les coordonnées du héros
xHeros=xNew;
yHeros=yNew;
}
}else{
this.tableauCase[xHeros][yHeros].setPv(this.tableauCase[xHeros][yHeros].getPv()-(this.tableauCase[xNew][yNew].getPv())/2);//Réduit les points de vie du héros par la valeur des points de vie du monstre
if(this.tableauCase[xHeros][yHeros].getPv()<=0){//Si les points de vie du héros sont inférieurs ou égaux à 0, affiche un message de Game Over et termine le jeu
System.out.println("GameOver, votre score final est de : "+this.points);
this.dispose();
}else{
this.points+=this.tableauCase[xNew][yNew].getPv();//Ajoute la valeur de la case aux points du héros et met à jour la vue du plateau
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
//On met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
this.plateau.update(this.tableauCase[i][j],i,j);
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
}
}
//On met à jour les coordonnées du héros
xHeros=xNew;
yHeros=yNew;
}
}
}else{
Randomrand=newRandom();
intaleatoire=rand.nextInt();
if(aleatoire<0){
aleatoire=-aleatoire;
}
if(aleatoire%100<25){
System.out.println("Vous avez été brulé !");
this.tableauCase[xHeros][yHeros].setPv(this.tableauCase[xHeros][yHeros].getPv()-((this.tableauCase[xNew][yNew].getPv())+(this.tableauCase[xHeros][yHeros].getPv()*20)/100));//Réduit les points de vie du héros par la valeur des points de vie du monstre
if(this.tableauCase[xHeros][yHeros].getPv()<=0){//Si les points de vie du héros sont inférieurs ou égaux à 0, affiche un message de Game Over et termine le jeu
System.out.println("GameOver, votre score final est de : "+this.points);
this.dispose();
}else{
this.points+=this.tableauCase[xNew][yNew].getPv();//Ajoute la valeur de la case aux points du héros et met à jour la vue du plateau
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros
//On met à jour la vue du plateau
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
this.plateau.update(this.tableauCase[i][j],i,j);
tabCase[i][j]=newVueCase(tableauCase[i][j]);
tabCase[i][j].setLocation(i*200,j*200);
tabCase[i][j].setSize(200,200);
this.add(tabCase[i][j]);
}
}
//On met à jour les coordonnées du héros
xHeros=xNew;
yHeros=yNew;
}
}else{
this.tableauCase[xHeros][yHeros].setPv(this.tableauCase[xHeros][yHeros].getPv()-(this.tableauCase[xNew][yNew].getPv()));//Réduit les points de vie du héros par la valeur des points de vie du monstre
if(this.tableauCase[xHeros][yHeros].getPv()<=0){//Si les points de vie du héros sont inférieurs ou égaux à 0, affiche un message de Game Over et termine le jeu
System.out.println("GameOver, votre score final est de : "+this.points);
this.dispose();
}else{
this.points+=this.tableauCase[xNew][yNew].getPv();//Ajoute la valeur de la case aux points du héros et met à jour la vue du plateau
this.tableauCase[xNew][yNew]=this.tableauCase[xHeros][yHeros];//Remplace la case par le héros
this.tableauCase[xHeros][yHeros]=newCase(xHeros,yHeros,"temp").newRandomCase(xHeros,yHeros);//Génère une nouvelle case aléatoire à l'ancienne position du héros