diff --git a/Case.java b/Case.java deleted file mode 100644 index abe31c5..0000000 --- a/Case.java +++ /dev/null @@ -1,172 +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 void setSuspition(int n){ - this.suspition=n; - //valeur sentinel pour montrer que c'est cette case qui a exploser - } - public boolean getBombe(){ - return this.bombe; - } - public void setVoisin(int nvoisin){ - this.voisin=nvoisin; - } - public int getSuspition(){ - return this.suspition; - } - 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.png"); - 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 supecter mais visible (possible que si le joueur a perdu) et que ce n'est pas une bombe - //on affiche un fond rouge pour mettre en valeur l'erreur - if(this.suspition==1 && this.bombe==false){ - secondPinceau.setColor(new Color(255, 0, 0)); - secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18); - 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 la case est une bombe - if(this.bombe==true){ - //si la bombe est suspecter mais afficher (possible que si le joeur perd) - if(this.suspition==1){ - //on affiche l'etoile sur fond vert pour préciser que le joueur avait raison - secondPinceau.setColor(new Color(0, 255, 0)); - secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18); - 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); - //autrement nous afficherons l'image de la bombe - }else{ - Image imgboombe= Toolkit.getDefaultToolkit().getImage("./IMAGE/bombe.png"); - //si la suspition est de 4 (possible que si c'est la bombe qui a exploser) valeur sentinelle - if(this.suspition==4){ - //on dessine un rectangle rouge - secondPinceau.setColor(new Color(255,0,0)); - secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18); - }else{ - //on dessine un rectangle orange pour montrer que la case était une bombe - secondPinceau.setColor(new Color(200, 127, 0)); - 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