79 lines
2.7 KiB
Java
79 lines
2.7 KiB
Java
//Clément Martins et Tom Monin
|
|
//Class utiliser pour observateur avec plusieur action ossible (en fonction de sa fonction défini a la création)
|
|
import java.awt.event.*;
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
|
|
public class observateurButtonEtText implements ActionListener {
|
|
private plateau plat;
|
|
private int fonction;
|
|
private JTextField zone;
|
|
private JFrame fenetre;
|
|
public observateurButtonEtText(plateau plat0, int fonction0, JTextField zone0, JFrame fenetre0){
|
|
this.plat=plat0;
|
|
this.fonction=fonction0;
|
|
this.zone=zone0;
|
|
this.fenetre=fenetre0;
|
|
}
|
|
@Override
|
|
public void actionPerformed(ActionEvent evenement){
|
|
if(this.fonction==1){
|
|
int nombre=0;
|
|
try{
|
|
this.zone.setBackground(new Color(255,255,255));
|
|
nombre=Integer.parseInt(evenement.getActionCommand());
|
|
if(nombre<0){
|
|
nombre=0;
|
|
}
|
|
if(this.plat.getLigne()!=-1 && this.plat.getCollonne()!=-1){
|
|
if(nombre>this.plat.getLigne()*this.plat.getCollonne()){
|
|
nombre=this.plat.getLigne()*this.plat.getCollonne();
|
|
}
|
|
this.zone.setText(String.valueOf(nombre));
|
|
}else{
|
|
this.zone.setBackground(Color.red);
|
|
this.zone.setText("Selectionner Ligne et Collonne Avant");
|
|
this.plat.setBombe(-1);
|
|
}
|
|
this.plat.setBombe(nombre);
|
|
}catch(NumberFormatException e1){
|
|
this.zone.setBackground(Color.red);
|
|
this.zone.setText("rentrer un nombre valide");
|
|
this.plat.setBombe(-1);
|
|
}
|
|
}
|
|
if(this.fonction==2){
|
|
int nombre=0;
|
|
try{
|
|
this.zone.setBackground(new Color(255,255,255));
|
|
nombre=Integer.parseInt(this.zone.getText());
|
|
if(nombre<0){
|
|
nombre=0;
|
|
}
|
|
if(this.plat.getLigne()!=-1 && this.plat.getCollonne()!=-1){
|
|
if(nombre>this.plat.getLigne()*this.plat.getCollonne()){
|
|
nombre=this.plat.getLigne()*this.plat.getCollonne();
|
|
}
|
|
this.plat.setBombe(nombre);
|
|
if(this.plat.getLigne()!=-1 && this.plat.getCollonne()!=-1 && this.plat.getBombe()!=-1){
|
|
this.plat.newGame();
|
|
}else{
|
|
if(this.plat.getBombe()==-1){
|
|
this.zone.setBackground(Color.red);
|
|
this.zone.setText("Rentrer un nombre de Bobme");
|
|
}
|
|
}
|
|
}else{
|
|
this.zone.setBackground(Color.red);
|
|
this.zone.setText("Selectionner Ligne et Collonne Avant");
|
|
this.plat.setBombe(-1);
|
|
}
|
|
this.plat.setBombe(nombre);
|
|
}catch(NumberFormatException e1){
|
|
this.zone.setBackground(Color.red);
|
|
this.zone.setText("rentrer un nombre valide");
|
|
this.plat.setBombe(-1);
|
|
}
|
|
}
|
|
}
|
|
} |