diff --git a/CASE/Case.class b/CASE/Case.class deleted file mode 100644 index 1abfa9d..0000000 Binary files a/CASE/Case.class and /dev/null differ diff --git a/CASE/Case.java b/CASE/Case.java deleted file mode 100644 index 1fbd67d..0000000 --- a/CASE/Case.java +++ /dev/null @@ -1,155 +0,0 @@ -// Tom Monin et Clément Martins -// paintChoix V3 -// class représentant une case dans la partie - -import java.awt.*; -import javax.swing.*; -import javax.swing.JComponent; - -public class Case extends JComponent{ - //Etat de la case: - private boolean visibilite; //Visible ou pas - private boolean bombe; //Miner ou pas - private int voisin; //Le nombre de mine aux alentours - private int suspition; // son Etat de suspition ( 0:pas une bombe, 1:en est une, 2:je doute) - // Les Images de la case (point d'interogation, etoile et bombe...) ne sont pas des attributs de la classe Case car - //pour faciliter la sauvegarde et donc permettre de sérialiser l'objet les attribut devrons être des classes réalisant Serializable ou Externialisable - - //Constructeur de la Case - public Case(){ - //nous initialisons les valeurs - this.visibilite=false; //la visibiler est fausse donc la case est cacher - this.bombe=false; // ce n'est pas une bombe - this.voisin=0; // elle n'a pas de voisin bombe - this.suspition=0; // la suspition est a 0 (pas une bombe) - } - - // Nous mettons les getter/setter - - public void setVisibiliter(boolean trueorfalse){ - this.visibilite=trueorfalse; - } - public void setBombe(){ - this.bombe=true; - } - public void suspition(){ - this.suspition++; - if(this.suspition==3){ - this.suspition=0; - } - } - public boolean getBombe(){ - return this.bombe; - } - public void setVoisin(int nvoisin){ - this.voisin=nvoisin; - } - public boolean getSuspition(){ - if(this.suspition>0){ - return true; - }else{ - return false; - } - } - // il y a deux suspition pour faciliter( le deux pour savoir si elle est suspecter sur 1:c'est une bombe et l'autre sur 0:pas une bombe) - public boolean getSuspition2(){ - if(this.suspition==1){ - return true; - }else{ - return false; - } - } - public boolean getVisibiliter(){ - return this.visibilite; - } - public int getVoisin(){ - return this.voisin; - } - - //on paint la case en fonction de ses attribut et donc son etat - @Override - protected void paintComponent(Graphics pinceau) { - // obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard - Graphics secondPinceau = pinceau.create(); - // obligatoire : si le composant n'est pas censé être transparent - if (this.isOpaque()) { - // obligatoire : on repeint toute la surface avec la couleur de fond - secondPinceau.setColor(this.getBackground()); - secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); - } - //On paint ce que l'on veut maintenant - //si la case est cacher (pas visible) - if(this.visibilite==false){ - //on dessinne un rectangle gris sur un fond noir - secondPinceau.setColor(new Color(0,0,0)); - secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); - secondPinceau.setColor(new Color(100, 100, 100)); - secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18); - //si on supecte que c'est une bome - if(this.suspition==1){ - //on affiche l'etoile - Image etoile= Toolkit.getDefaultToolkit().getImage("./IMAGE/etoile.png"); - secondPinceau.drawImage(etoile, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); - } - //si on suspecte que on ne sais pas - if(this.suspition==2){ - Image interogation= Toolkit.getDefaultToolkit().getImage("./IMAGE/pointintero.png"); - //on affiche le point d'interogation - secondPinceau.drawImage(interogation, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); - } - } - //si la case est afficher(visible) - if(this.visibilite==true){ - //on dessine un rectangle blanc sur un fond noir - secondPinceau.setColor(new Color(0,0,0)); - secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); - secondPinceau.setColor(new Color(255, 255, 255)); - secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18); - //si la case a au moins 1 voisin qui est une bombe - if(this.voisin>0){ - //on ecrit le nombre de voisin que elle a - if(this.voisin==1){ - Image un=Toolkit.getDefaultToolkit().getImage("./IMAGE/un.jpg"); - secondPinceau.drawImage(un, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); - } - if(this.voisin==2){ - Image deux=Toolkit.getDefaultToolkit().getImage("./IMAGE/deux.jpg"); - secondPinceau.drawImage(deux, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); - } - if(this.voisin==3){ - Image trois=Toolkit.getDefaultToolkit().getImage("./IMAGE/trois.jpg"); - secondPinceau.drawImage(trois, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); - } - if(this.voisin==4){ - Image quatre=Toolkit.getDefaultToolkit().getImage("./IMAGE/quatre.jpg"); - secondPinceau.drawImage(quatre, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); - } - if(this.voisin==5){ - Image cinq=Toolkit.getDefaultToolkit().getImage("./IMAGE/cinq.jpg"); - secondPinceau.drawImage(cinq, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); - } - if(this.voisin==6){ - Image six=Toolkit.getDefaultToolkit().getImage("./IMAGE/six.jpg"); - secondPinceau.drawImage(six, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); - } - if(this.voisin==7){ - Image sept=Toolkit.getDefaultToolkit().getImage("./IMAGE/sept.jpg"); - secondPinceau.drawImage(sept, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); - } - if(this.voisin==8){ - Image huit=Toolkit.getDefaultToolkit().getImage("./IMAGE/huit.jpg"); - secondPinceau.drawImage(huit, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); - } - } - //si la case est une bombe - if(this.bombe==true){ - Image imgboombe= Toolkit.getDefaultToolkit().getImage("./IMAGE/bombe.png"); - //on remplace le rectangle blanc par un rectangle rouge - secondPinceau.setColor(new Color(255,0,125)); - secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18); - //on affiche la bombe - secondPinceau.drawImage(imgboombe, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); - } - } - } -} \ No newline at end of file diff --git a/CASE/IMAGE/bombe.png b/CASE/IMAGE/bombe.png deleted file mode 100644 index 60fc420..0000000 Binary files a/CASE/IMAGE/bombe.png and /dev/null differ diff --git a/CASE/IMAGE/cinq.jpg b/CASE/IMAGE/cinq.jpg deleted file mode 100644 index b828d77..0000000 Binary files a/CASE/IMAGE/cinq.jpg and /dev/null differ diff --git a/CASE/IMAGE/cinqD.png b/CASE/IMAGE/cinqD.png deleted file mode 100644 index 3a42907..0000000 Binary files a/CASE/IMAGE/cinqD.png and /dev/null differ diff --git a/CASE/IMAGE/deux.jpg b/CASE/IMAGE/deux.jpg deleted file mode 100644 index ff2c305..0000000 Binary files a/CASE/IMAGE/deux.jpg and /dev/null differ diff --git a/CASE/IMAGE/deuxD.png b/CASE/IMAGE/deuxD.png deleted file mode 100644 index a51cb36..0000000 Binary files a/CASE/IMAGE/deuxD.png and /dev/null differ diff --git a/CASE/IMAGE/err.png b/CASE/IMAGE/err.png deleted file mode 100644 index eadff1a..0000000 Binary files a/CASE/IMAGE/err.png and /dev/null differ diff --git a/CASE/IMAGE/etoile.png b/CASE/IMAGE/etoile.png deleted file mode 100644 index 66964aa..0000000 Binary files a/CASE/IMAGE/etoile.png and /dev/null differ diff --git a/CASE/IMAGE/huit.jpg b/CASE/IMAGE/huit.jpg deleted file mode 100644 index 9c681d7..0000000 Binary files a/CASE/IMAGE/huit.jpg and /dev/null differ diff --git a/CASE/IMAGE/huitD.png b/CASE/IMAGE/huitD.png deleted file mode 100644 index bc6dc2a..0000000 Binary files a/CASE/IMAGE/huitD.png and /dev/null differ diff --git a/CASE/IMAGE/lose.png b/CASE/IMAGE/lose.png deleted file mode 100644 index 139b8c5..0000000 Binary files a/CASE/IMAGE/lose.png and /dev/null differ diff --git a/CASE/IMAGE/neufD.png b/CASE/IMAGE/neufD.png deleted file mode 100644 index a3aa467..0000000 Binary files a/CASE/IMAGE/neufD.png and /dev/null differ diff --git a/CASE/IMAGE/pointintero.png b/CASE/IMAGE/pointintero.png deleted file mode 100644 index 651da3e..0000000 Binary files a/CASE/IMAGE/pointintero.png and /dev/null differ diff --git a/CASE/IMAGE/quatre.jpg b/CASE/IMAGE/quatre.jpg deleted file mode 100644 index ae4d002..0000000 Binary files a/CASE/IMAGE/quatre.jpg and /dev/null differ diff --git a/CASE/IMAGE/quatreD.png b/CASE/IMAGE/quatreD.png deleted file mode 100644 index 89fd693..0000000 Binary files a/CASE/IMAGE/quatreD.png and /dev/null differ diff --git a/CASE/IMAGE/replay.png b/CASE/IMAGE/replay.png deleted file mode 100644 index 0093677..0000000 Binary files a/CASE/IMAGE/replay.png and /dev/null differ diff --git a/CASE/IMAGE/sav.png b/CASE/IMAGE/sav.png deleted file mode 100644 index dcda6ae..0000000 Binary files a/CASE/IMAGE/sav.png and /dev/null differ diff --git a/CASE/IMAGE/sept.jpg b/CASE/IMAGE/sept.jpg deleted file mode 100644 index d6841fd..0000000 Binary files a/CASE/IMAGE/sept.jpg and /dev/null differ diff --git a/CASE/IMAGE/septD.png b/CASE/IMAGE/septD.png deleted file mode 100644 index be84204..0000000 Binary files a/CASE/IMAGE/septD.png and /dev/null differ diff --git a/CASE/IMAGE/six.jpg b/CASE/IMAGE/six.jpg deleted file mode 100644 index f84ef83..0000000 Binary files a/CASE/IMAGE/six.jpg and /dev/null differ diff --git a/CASE/IMAGE/sixD.png b/CASE/IMAGE/sixD.png deleted file mode 100644 index 71f8892..0000000 Binary files a/CASE/IMAGE/sixD.png and /dev/null differ diff --git a/CASE/IMAGE/trois.jpg b/CASE/IMAGE/trois.jpg deleted file mode 100644 index 30b0737..0000000 Binary files a/CASE/IMAGE/trois.jpg and /dev/null differ diff --git a/CASE/IMAGE/troisD.png b/CASE/IMAGE/troisD.png deleted file mode 100644 index 3b502a0..0000000 Binary files a/CASE/IMAGE/troisD.png and /dev/null differ diff --git a/CASE/IMAGE/un.jpg b/CASE/IMAGE/un.jpg deleted file mode 100644 index 2a2e75e..0000000 Binary files a/CASE/IMAGE/un.jpg and /dev/null differ diff --git a/CASE/IMAGE/unD.png b/CASE/IMAGE/unD.png deleted file mode 100644 index 1f5b861..0000000 Binary files a/CASE/IMAGE/unD.png and /dev/null differ diff --git a/CASE/IMAGE/win.png b/CASE/IMAGE/win.png deleted file mode 100644 index bb8fc4b..0000000 Binary files a/CASE/IMAGE/win.png and /dev/null differ diff --git a/CASE/IMAGE/zeroD.png b/CASE/IMAGE/zeroD.png deleted file mode 100644 index 83a84eb..0000000 Binary files a/CASE/IMAGE/zeroD.png and /dev/null differ diff --git a/CASE/main_ex.class b/CASE/main_ex.class deleted file mode 100644 index 79c2e6f..0000000 Binary files a/CASE/main_ex.class and /dev/null differ diff --git a/CASE/main_ex.java b/CASE/main_ex.java deleted file mode 100644 index 95f1710..0000000 --- a/CASE/main_ex.java +++ /dev/null @@ -1,25 +0,0 @@ -// Tom Monint et Clément Martins -// main_ex V4 -// Classe ayant pour but d'être executer - -//importons les packages necessaires -import java.awt.*; -import javax.swing.*; - -public class main_ex{ - public static void main(String[] Args){ - // on initialise une fenettre - JFrame fenetre = new JFrame("Démineur"); - int ligne=5; - int collonne=10; - int bombe=10; - fenetre.setLocation(0,0); - fenetre.setSize(1500,500); - fenetre.setVisible(true); - //on choisi une taille arbitraire - - //nous utiliserons un gestionnaire GridLayout de dimensions choisi précédament - plateau jeu = new plateau(fenetre); - jeu.reprendrePartie(); - } -} \ No newline at end of file diff --git a/CASE/observateurCase.class b/CASE/observateurCase.class deleted file mode 100644 index af29ec5..0000000 Binary files a/CASE/observateurCase.class and /dev/null differ diff --git a/CASE/observateurCase.java b/CASE/observateurCase.java deleted file mode 100644 index f8d91fc..0000000 --- a/CASE/observateurCase.java +++ /dev/null @@ -1,161 +0,0 @@ -//Tom Monin et Clément Martins -// observateurChoix V4 -//Class de l'observateur des Cases -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; - -public class observateurCase implements MouseListener{ - private int ligne, collonne; - private Case[][] tableau; - private plateau plat; - public observateurCase(int ligne0, int collonne0, Case[][] tableau0, plateau plat0){ - this.ligne=ligne0; - this.collonne=collonne0; - this.tableau=tableau0; - this.plat=plat0; - } - @Override - public void mouseClicked(MouseEvent evenement){ - //si on clique gauche - if(evenement.getButton() == MouseEvent.BUTTON1 && plat.etatDeVictoire()==0){ - //si la case n'est pas suspecter(d'etre une bombe ou je sais pas) et que elle n'est pas visible - if(this.tableau[this.ligne][this.collonne].getSuspition()==false && this.tableau[this.ligne][this.collonne].getVisibiliter()==false){ - //nous la rendons visible et la reafichons - this.tableau[this.ligne][this.collonne].setVisibiliter(true); - this.tableau[this.ligne][this.collonne].repaint(); - //si elle n'a pas de voisin nous pouvons afficher les case aux alentours qui serons évidentes a cliquer - if(this.tableau[this.ligne][this.collonne].getVoisin()==0 && this.tableau[this.ligne][this.collonne].getBombe()==false){ - this.cliqueEvident(this.ligne, this.collonne); - } - } - } - //si clique droit - if(evenement.getButton() == MouseEvent.BUTTON3 && plat.etatDeVictoire()==0){ - //nous modifions la suspitions de la case et la reafichons si la case n'est pas visible - if(this.tableau[this.ligne][this.collonne].getVisibiliter()==false){ - this.tableau[this.ligne][this.collonne].suspition(); - this.tableau[this.ligne][this.collonne].repaint(); - } - //nous testons si le joeur a gagner/perdu - if(this.tableau[this.ligne][this.collonne].getSuspition2()==true){ - plat.setScore(-1); - } - if(this.tableau[this.ligne][this.collonne].getSuspition2()==false && this.tableau[this.ligne][this.collonne].getSuspition()==true){ - plat.setScore(+1); - } - } - //nous testons si le joueur a gagner/perdu - //si perdu - if(plat.etatDeVictoire()==-1){ - plateau.removeListener(this.tableau); - for(int i=0;i0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){ - //on utilise la fonction recurisve sur la case du haut - this.cliqueEvident(ligneDelta-1, collonneDelta); - } - //la même chose pour les 8 cases possible donc recursivite possible (voir principe en haut) - if(collonneDelta>0 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta-1].getBombe()==false){ - this.cliqueEvident(ligneDelta-1, collonneDelta-1); - } - if(ligneDelta0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta-1].getBombe()==false){ - this.cliqueEvident(ligneDelta, collonneDelta-1); - } - if(collonneDelta>0 && ligneDelta0 && this.tableau[ligneDelta-1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta+1].getBombe()==false){ - this.cliqueEvident(ligneDelta-1, collonneDelta+1); - } - if(collonneDelta0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()>0){ - this.tableau[ligneDelta-1][collonneDelta].setVisibiliter(true); - this.tableau[ligneDelta-1][collonneDelta].repaint(); - } - if(ligneDelta0){ - this.tableau[ligneDelta+1][collonneDelta].setVisibiliter(true); - this.tableau[ligneDelta+1][collonneDelta].repaint(); - } - if(collonneDelta0){ - this.tableau[ligneDelta][collonneDelta+1].setVisibiliter(true); - this.tableau[ligneDelta][collonneDelta+1].repaint(); - } - if(collonneDelta>0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()>0){ - this.tableau[ligneDelta][collonneDelta-1].setVisibiliter(true); - this.tableau[ligneDelta][collonneDelta-1].repaint(); - } - if(collonneDelta>0 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta-1].getVoisin()>0){ - this.tableau[ligneDelta-1][collonneDelta-1].setVisibiliter(true); - this.tableau[ligneDelta-1][collonneDelta-1].repaint(); - } - if(collonneDelta>0 && ligneDelta0){ - this.tableau[ligneDelta+1][collonneDelta-1].setVisibiliter(true); - this.tableau[ligneDelta+1][collonneDelta-1].repaint(); - } - if(collonneDelta0 && this.tableau[ligneDelta-1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta+1].getVoisin()>0){ - this.tableau[ligneDelta-1][collonneDelta+1].setVisibiliter(true); - this.tableau[ligneDelta-1][collonneDelta+1].repaint(); - } - if(collonneDelta0){ - this.tableau[ligneDelta+1][collonneDelta+1].setVisibiliter(true); - this.tableau[ligneDelta+1][collonneDelta+1].repaint(); - } - } -} \ No newline at end of file diff --git a/CASE/observateurFenetre.class b/CASE/observateurFenetre.class deleted file mode 100644 index 53499fa..0000000 Binary files a/CASE/observateurFenetre.class and /dev/null differ diff --git a/CASE/observateurFenetre.java b/CASE/observateurFenetre.java deleted file mode 100644 index 23e57ac..0000000 --- a/CASE/observateurFenetre.java +++ /dev/null @@ -1,30 +0,0 @@ -import java.awt.event.*; - -public class observateurFenetre implements WindowListener{ - private plateau plat; - public observateurFenetre(plateau plat0){ - this.plat=plat0; - } - - public void windowActivated(WindowEvent evenement){ - - } // premier plan - public void windowClosed(WindowEvent evenement){ - - } // après fermeture - public void windowClosing(WindowEvent evenement){ - this.plat.save(); - } // avant fermeture - public void windowDeactivated(WindowEvent evenement){ - - } // arrière-plan - public void windowDeiconified(WindowEvent evenement){ - - } // restauration - public void windowIconified(WindowEvent evenement){ - - } // minimisation - public void windowOpened(WindowEvent evenement){ - - } // après ouverture -} \ No newline at end of file diff --git a/CASE/observateurSAV.class b/CASE/observateurSAV.class deleted file mode 100644 index 046d3e0..0000000 Binary files a/CASE/observateurSAV.class and /dev/null differ diff --git a/CASE/observateurSAV.java b/CASE/observateurSAV.java deleted file mode 100644 index 5f6671a..0000000 --- a/CASE/observateurSAV.java +++ /dev/null @@ -1,42 +0,0 @@ -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; - -public class observateurSAV implements MouseListener{ - private plateau plat; - private paintMenuJeu button; - private boolean fonction; - public observateurSAV(paintMenuJeu button0, plateau plat0){ - this.button=button0; - this.plat=plat0; - this.fonction=false; - } - public void setFonction(boolean fonction0){ - this.fonction=fonction0; - } - @Override - public void mouseClicked(MouseEvent evenement){ - if(this.fonction==false){ - plat.save(); - } - if(this.fonction==true){ - plat.newGame(plat.getLigne(), plat.getCollonne(), plat.getBombe()); - } - } - @Override // un bouton cliqué - public void mouseEntered(MouseEvent evenement){ - this.button.setSurvol(true); - } - @Override // debut du survol - public void mouseExited(MouseEvent evenement){ - this.button.setSurvol(false); - } - @Override // fin du survol - public void mousePressed(MouseEvent evenement){ - - } - @Override // un bouton appuyé - public void mouseReleased(MouseEvent evenement){ - - } -} \ No newline at end of file diff --git a/CASE/paintMenuJeu.class b/CASE/paintMenuJeu.class deleted file mode 100644 index 218f2aa..0000000 Binary files a/CASE/paintMenuJeu.class and /dev/null differ diff --git a/CASE/paintMenuJeu.java b/CASE/paintMenuJeu.java deleted file mode 100644 index 0739021..0000000 --- a/CASE/paintMenuJeu.java +++ /dev/null @@ -1,142 +0,0 @@ -import java.awt.*; -import javax.swing.*; -import javax.swing.JComponent; - -public class paintMenuJeu extends JComponent{ - private int choix; - private int scoreMax, score; - private Image un, deux, trois, quatre, cinq, six, sept, huit, neuf, zero, err, sav, lose, win, replay; - private boolean survol; - public paintMenuJeu(int choix0, int score0, int scoreMax0){ - this.choix=choix0; - this.score=score0; - this.scoreMax=scoreMax0; - this.un=Toolkit.getDefaultToolkit().getImage("./IMAGE/unD.png"); - this.deux=Toolkit.getDefaultToolkit().getImage("./IMAGE/deuxD.png"); - this.trois=Toolkit.getDefaultToolkit().getImage("./IMAGE/troisD.png"); - this.quatre=Toolkit.getDefaultToolkit().getImage("./IMAGE/quatreD.png"); - this.cinq=Toolkit.getDefaultToolkit().getImage("./IMAGE/cinqD.png"); - this.six=Toolkit.getDefaultToolkit().getImage("./IMAGE/sixD.png"); - this.sept=Toolkit.getDefaultToolkit().getImage("./IMAGE/septD.png"); - this.huit=Toolkit.getDefaultToolkit().getImage("./IMAGE/huitD.png"); - this.neuf=Toolkit.getDefaultToolkit().getImage("./IMAGE/neufD.png"); - this.zero=Toolkit.getDefaultToolkit().getImage("./IMAGE/zeroD.png"); - this.err=Toolkit.getDefaultToolkit().getImage("./IMAGE/err.png"); - this.sav=Toolkit.getDefaultToolkit().getImage("./IMAGE/sav.png"); - this.lose=Toolkit.getDefaultToolkit().getImage("./IMAGE/lose.png"); - this.win=Toolkit.getDefaultToolkit().getImage("./IMAGE/win.png"); - this.replay=Toolkit.getDefaultToolkit().getImage("./IMAGE/replay.png"); - this.survol=false; - } - public void setChoix(int choix0){ - this.choix=choix0; - this.repaint(); - } - public void setScore(int score0){ - this.score=score0; - this.repaint(); - } - public int getScore(){ - return this.score; - } - public void setSurvol(boolean survol0){ - this.survol=survol0; - this.repaint(); - } - public int getScoreMax(){ - return this.scoreMax; - } - @Override - protected void paintComponent(Graphics pinceau) { - // obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard - Graphics secondPinceau = pinceau.create(); - // obligatoire : si le composant n'est pas censé être transparent - if (this.isOpaque()) { - // obligatoire : on repeint toute la surface avec la couleur de fond - secondPinceau.setColor(this.getBackground()); - secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); - } - //On paint ce que l'on veut maintenant - secondPinceau.setColor(new Color(0,0,0)); - secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); - if(this.choix==1){ - int nombre=this.score/100; - this.paintNombre(secondPinceau, nombre); - } - if(this.choix==2){ - int nombre=this.score; - if(nombre>=100){ - nombre=this.score-100*(this.score/100); - } - nombre=nombre/10; - this.paintNombre(secondPinceau, nombre); - } - if(this.choix==3){ - int nombre=this.score; - if(nombre>=100){ - nombre=this.score-100*(this.score/100); - } - if(nombre>=10){ - nombre=this.score-10*(this.score/10); - } - this.paintNombre(secondPinceau, nombre); - } - if(this.choix==4){ - if(this.survol==true){ - secondPinceau.setColor(new Color(0,255,0)); - secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); - } - secondPinceau.drawImage(this.sav, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(this.choix==5){ - secondPinceau.drawImage(this.lose, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(this.choix==6){ - secondPinceau.drawImage(this.win, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(this.choix==7){ - if(this.survol==true){ - secondPinceau.setColor(new Color(0,255,0)); - secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); - } - secondPinceau.drawImage(this.replay, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - } - private void paintNombre(Graphics secondPinceau, int nombre){ - if(this.score>=0){ - if(nombre==1){ - secondPinceau.drawImage(this.un, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(nombre==2){ - secondPinceau.drawImage(this.deux, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(nombre==3){ - secondPinceau.drawImage(this.trois, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(nombre==4){ - secondPinceau.drawImage(this.quatre, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(nombre==5){ - secondPinceau.drawImage(this.cinq, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(nombre==6){ - secondPinceau.drawImage(this.six, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(nombre==7){ - secondPinceau.drawImage(this.sept, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(nombre==8){ - secondPinceau.drawImage(this.huit, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(nombre==9){ - secondPinceau.drawImage(this.neuf, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - if(nombre==0){ - secondPinceau.drawImage(this.zero, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - }else{ - secondPinceau.drawImage(this.err, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/6*4, this.getHeight()/6*4 ,this); - } - - } -} \ No newline at end of file diff --git a/CASE/plateau.class b/CASE/plateau.class deleted file mode 100644 index 189b577..0000000 Binary files a/CASE/plateau.class and /dev/null differ diff --git a/CASE/plateau.java b/CASE/plateau.java deleted file mode 100644 index eefc12a..0000000 --- a/CASE/plateau.java +++ /dev/null @@ -1,323 +0,0 @@ -//Tom Monin et Clément Martins -//Class pour des fonction static de jeu -//V2 - -import java.io.*; -import java.util.*; -import java.awt.event.*; -import java.io.ObjectOutputStream; -import java.awt.*; -import javax.swing.*; - -public class plateau{ - private paintMenuJeu logo; - private JFrame fenetre; - private observateurSAV observateur; - private int ligne, collonne, bombe; - private paintMenuJeu[] tabScore= new paintMenuJeu[3]; - private Case[][] tableau; - public plateau(JFrame fenetre0){ - this.fenetre=fenetre0; - } - public void setLogo(paintMenuJeu logo0){ - this.logo=logo0; - } - public void setObservateur(observateurSAV observateur0){ - this.observateur=observateur0; - } - public int getLigne(){ - return this.ligne; - } - public int getCollonne(){ - return this.collonne; - } - public int getBombe(){ - return this.bombe; - } - public JFrame getFenetre(){ - return this.fenetre; - } - //-------------------------Fonction plaçant les bombes aléatoirement------------------------ - - private void setAllBombe(){ - Random rand = new Random(); - //on répète le nombre de fois le nombre de bombe a placer - for(int i=0; i0){ - if(this.tableau[i-1][t].getBombe()==true){ - //si elle le sont alors nous augmentons le nombre de voisin - voisin++; - } - if(t>0){ - if(this.tableau[i-1][t-1].getBombe()==true){ - voisin++; - } - } - if(t0){ - if(this.tableau[i+1][t-1].getBombe()==true){ - voisin++; - } - } - if(t0){ - if(this.tableau[i][t-1].getBombe()==true){ - voisin++; - } - } - if(t0){ - //on retourne 0 ici comme une valleur null - return 0; - } - //sinon le joueur a donc gagner on renvoie 1 - return 1; - } - //-----------------------------------Fonction après victoire/defaite pour enlever les observateur a chaque Case-------------------------------- - - public static void removeListener(Case[][] tableau0){ - //on parcour le tableau du jeu - for(int i=0; ithis.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){ - if(this.plat.getLigne()!=-1 && this.plat.getLigne()!=-1 && this.plat.getBombe()!=-1){ - this.plat.newGame(); - } - } - if(this.fonction==3){ - this.plat.menuChoixLCB(); - } - if(this.fonction==4){ - try{ - FileInputStream fichier = new FileInputStream("./sauvegarde.data"); - this.plat.reprendrePartie(); - }catch(FileNotFoundException e1){ - - } - } - if(this.fonction==5){ - this.plat.getFenetre().dispose(); - } - } -} \ No newline at end of file diff --git a/nombreCollonnesLigneEtBombe.class b/nombreCollonnesLigneEtBombe.class deleted file mode 100644 index b34beb0..0000000 Binary files a/nombreCollonnesLigneEtBombe.class and /dev/null differ diff --git a/nombreCollonnesLigneEtBombe.java b/nombreCollonnesLigneEtBombe.java deleted file mode 100644 index 850f9d2..0000000 --- a/nombreCollonnesLigneEtBombe.java +++ /dev/null @@ -1,71 +0,0 @@ -import java.awt.*; -import javax.swing.*; - -public class nombreCollonnesLigneEtBombe{ - private int collonne, ligne, bombe, max, min; - JFrame fenetre; - public nombreCollonnesLigneEtBombe(JFrame fenetre0){ - this.min=4; - // il y a au minimun 4 ligne et 4 collonnes - this.max=30; - // il y a 30 ligne et collonne au max - this.collonne=1; - this.ligne=3; - this.bombe=0; - this.fenetre=fenetre0; - this.Choix(); - } - public void setCollonne(int n){ - this.collonne=n; - if(this.collonnethis.max){ - this.collonne=this.max; - } - } - public void setLigne(int n){ - this.ligne=n; - if(this.lignethis.max){ - this.ligne=this.max; - } - } - public void setBombe(int n){ - this.bombe=n; - if(this.bombethis.max){ - this.bombe=this.max; - } - } - public int getMax(){ - return this.max; - } - public int getMin(){ - return this.min; - } - public int getLignes(){ - return this.ligne; - } - public int getCollonnes(){ - return this.collonne; - } - public JFrame getJFrame(){ - JFrame fen2 = new JFrame(); - GridLayout grille = new GridLayout(this.ligne, this.collonne, 5, 5); - fen2.setLayout(grille); - fen2.setSize(1000,800); - fen2.setLocation(0,0); - fen2.setVisible(true); - fen2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - return fen2; - } - private void Choix(){ - - - } -} \ No newline at end of file diff --git a/observateurButtonEtText.class b/observateurButtonEtText.class index 2b87e5c..8b590f3 100644 Binary files a/observateurButtonEtText.class and b/observateurButtonEtText.class differ diff --git a/observateurButtonEtText.java b/observateurButtonEtText.java index 3419399..2880442 100644 --- a/observateurButtonEtText.java +++ b/observateurButtonEtText.java @@ -9,10 +9,12 @@ public class observateurButtonEtText implements ActionListener { private plateau plat; private int fonction; private JTextField zone; - public observateurButtonEtText(plateau plat0, int fonction0, JTextField zone0){ + 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){ @@ -82,7 +84,7 @@ public class observateurButtonEtText implements ActionListener { FileInputStream fichier = new FileInputStream("./sauvegarde.data"); this.plat.reprendrePartie(fichier); }catch(FileNotFoundException e1){ - + JOptionPane.showMessageDialog(this.fenetre, "sauvegarde introuvable"); } } if(this.fonction==5){ diff --git a/paintFond.class b/paintFond.class deleted file mode 100644 index ad529fa..0000000 Binary files a/paintFond.class and /dev/null differ diff --git a/paintFond.java b/paintFond.java deleted file mode 100644 index ed165af..0000000 --- a/paintFond.java +++ /dev/null @@ -1,27 +0,0 @@ -//Clément martins - -import java.awt.*; -import javax.swing.*; - -public class paintFond extends JComponent { - private Image tuile= Toolkit.getDefaultToolkit().getImage("./tuile.jpg"); - -@Override - protected void paintComponent(Graphics pinceau) { - // obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard - Graphics secondPinceau = pinceau.create(); - // obligatoire : si le composant n'est pas censé être transparent - if (this.isOpaque()) { - // obligatoire : on repeint toute la surface avec la couleur de fond - secondPinceau.setColor(this.getBackground()); - secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); - } - // maintenant on dessine ce que l'on veut - for(int y=0; y>>>>>> c059255e540ace2f9f48394068a8cb2c7fbdce51 } //nous fermons la fenetre et donc arrêtons l'applications this.fenetre.dispose(); @@ -301,6 +323,24 @@ Mettre les bloc try catch au bon endroit for(int t=0; t>>>>>> c059255e540ace2f9f48394068a8cb2c7fbdce51 } }catch(ClassNotFoundException e3){ + JOptionPane.showMessageDialog(this.fenetre, "fichier de sauvegarde corompu"); + this.menuChoixTypePartie(); + }catch(Exception e){ + JOptionPane.showMessageDialog(this.fenetre, "fichier de sauvegarde imcomplet"); + this.menuChoixTypePartie(); } - //nous pouvons maintenant lancer la partie sauvegarder - this.launchGame(score); } //----------------------------------------> Fonction pour Lancer une partie <-------------------------------------- @@ -431,7 +475,7 @@ Mettre les bloc try catch au bon endroit }if(i==26){ //si c'est la dernière ligne, boutons valider JButton valider = new JButton("valider"); - valider.addActionListener(new observateurButtonEtText(this, 2, nbombe)); + valider.addActionListener(new observateurButtonEtText(this, 2, nbombe, this.fenetre)); this.fenetre.add(valider); }if(i==17){ //boutons plus @@ -441,7 +485,7 @@ Mettre les bloc try catch au bon endroit }if(i==18){ //texteArea qui représente le nombre de bombe nbombe.setHorizontalAlignment(JLabel.CENTER); - nbombe.addActionListener(new observateurButtonEtText(this, 1, nbombe)); + nbombe.addActionListener(new observateurButtonEtText(this, 1, nbombe, this.fenetre)); this.fenetre.add(nbombe); }if(i==19){ //boutons moins @@ -477,9 +521,9 @@ Mettre les bloc try catch au bon endroit JButton nouveau = new JButton("nouvelle partie"); JButton reprende = new JButton("reprendrePartie"); JButton quitter = new JButton("quitter"); - nouveau.addActionListener(new observateurButtonEtText(this, 3, null)); - reprende.addActionListener(new observateurButtonEtText(this, 4, null)); - quitter.addActionListener(new observateurButtonEtText(this, 5, null)); + nouveau.addActionListener(new observateurButtonEtText(this, 3, null, this.fenetre)); + reprende.addActionListener(new observateurButtonEtText(this, 4, null, this.fenetre)); + quitter.addActionListener(new observateurButtonEtText(this, 5, null, this.fenetre)); pan1.add(nouveau); pan2.add(reprende); pan3.add(quitter); diff --git a/sauvegarde.data b/sauvegarde.data index 6d5afde..5a1668e 100644 Binary files a/sauvegarde.data and b/sauvegarde.data differ diff --git a/sauvegarde.data~ b/sauvegarde.data~ new file mode 100644 index 0000000..8d56d6c Binary files /dev/null and b/sauvegarde.data~ differ diff --git a/tuile.jpg b/tuile.jpg deleted file mode 100644 index 55612e6..0000000 Binary files a/tuile.jpg and /dev/null differ