import java.awt.*; import javax.swing.*; import javax.swing.JComponent; //Classe pour l'affichage du menu en haut du jeu avec notament le score et les logo public class paintMenuJeu extends JComponent{ private int choix; //pour préciser le but du composant private int scoreMax, score; //le score maximum et le score actuel private boolean survol; //si la case est survoler public paintMenuJeu(int choix0, int score0, int scoreMax0){ this.choix=choix0; this.score=score0; this.scoreMax=scoreMax0; this.survol=false; } //----------------------getteur et Setter------------------------------ 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; } public int getFonction(){ return this.choix; } @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 //par default on remplis de noir secondPinceau.setColor(new Color(0,0,0)); secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); //si le choix est de 1 (chiffre des centaines) if(this.choix==1){ //le score correspond au chiffre des centaine int nombre=this.score/100; //on affiche le chiffre correspondant this.paintNombre(secondPinceau, nombre); } //si le choix est de 1 (chiffre des dixaines) if(this.choix==2){ //le score correspond au chiffre des dixaine int nombre=this.score; if(nombre>=100){ nombre=this.score-100*(this.score/100); } nombre=nombre/10; //on affiche le chiffre correspondant this.paintNombre(secondPinceau, nombre); } //si le choix de 3 (chiffre des untité) if(this.choix==3){ //le score correspond au chiffre des uité int nombre=this.score; if(nombre>=100){ nombre=this.score-100*(this.score/100); } if(nombre>=10){ nombre=this.score-10*(this.score/10); } //on affiche le chiffre correspondant this.paintNombre(secondPinceau, nombre); } //si le choix est de (logo sauvegarde) if(this.choix==4){ //si survoler if(this.survol==true){ //fond en vert secondPinceau.setColor(new Color(0,255,0)); secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); } //on affiche l'image Image sav=Toolkit.getDefaultToolkit().getImage("./IMAGE/sav.png"); secondPinceau.drawImage(sav, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } //si choix est de 5 (lorsque le joueur perd) if(this.choix==5){ //on affiche des bonhomes pas content pour montrer que il a perdu Image lose=Toolkit.getDefaultToolkit().getImage("./IMAGE/lose.png"); secondPinceau.drawImage(lose, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } //si choix de 6 (gagner) if(this.choix==6){ //bonhomme content Image win=Toolkit.getDefaultToolkit().getImage("./IMAGE/win.png"); secondPinceau.drawImage(win, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } //si choix de 7 (logo replay) if(this.choix==7){ //et survol if(this.survol==true){ //fond en vert secondPinceau.setColor(new Color(0,255,0)); secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); } // on affiche le logo replay Image replay=Toolkit.getDefaultToolkit().getImage("./IMAGE/replay.png"); secondPinceau.drawImage(replay, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } } //----------------------fonction pour afficher le nombre donner----------------------- private void paintNombre(Graphics secondPinceau, int nombre){ //si le nombre est positif if(this.score>=0){ //on regarde les 10 chiffre possible et l'affichons en conséquences if(nombre==1){ Image un=Toolkit.getDefaultToolkit().getImage("./IMAGE/unD.png"); secondPinceau.drawImage(un, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } if(nombre==2){ Image deux=Toolkit.getDefaultToolkit().getImage("./IMAGE/deuxD.png"); secondPinceau.drawImage(deux, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } if(nombre==3){ Image trois=Toolkit.getDefaultToolkit().getImage("./IMAGE/troisD.png"); secondPinceau.drawImage(trois, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } if(nombre==4){ Image quatre=Toolkit.getDefaultToolkit().getImage("./IMAGE/quatreD.png"); secondPinceau.drawImage(quatre, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } if(nombre==5){ Image cinq=Toolkit.getDefaultToolkit().getImage("./IMAGE/cinqD.png"); secondPinceau.drawImage(cinq, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } if(nombre==6){ Image six=Toolkit.getDefaultToolkit().getImage("./IMAGE/sixD.png"); secondPinceau.drawImage(six, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } if(nombre==7){ Image sept=Toolkit.getDefaultToolkit().getImage("./IMAGE/septD.png"); secondPinceau.drawImage(sept, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } if(nombre==8){ Image huit=Toolkit.getDefaultToolkit().getImage("./IMAGE/huitD.png"); secondPinceau.drawImage(huit, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } if(nombre==9){ Image neuf=Toolkit.getDefaultToolkit().getImage("./IMAGE/neufD.png"); secondPinceau.drawImage(neuf, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } if(nombre==0){ Image zero=Toolkit.getDefaultToolkit().getImage("./IMAGE/zeroD.png"); secondPinceau.drawImage(zero, this.getWidth()/6, this.getHeight()/6, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } }else{ Image err=Toolkit.getDefaultToolkit().getImage("./IMAGE/err.png"); secondPinceau.drawImage(err, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/6*4, this.getHeight()/6*4 ,this); } } }