import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.InputStream; import javax.imageio.ImageIO; /** * * @author Client */ public class Carte { private int valeur; private String sorte; private BufferedImage dos; private BufferedImage face; private boolean visible; public Carte(final int valeurCarte, final String sorteCarte) { valeur = valeurCarte; sorte = sorteCarte; visible = false; String image; InputStream input = null; // Pour trouver le path du jar. //System.out.println("path = " + new File("").getAbsolutePath()); image = getNomImage(valeurCarte, sorteCarte); dos = null; face = null; try { //input = Card.class.getResourceAsStream(File.separator + "images" + File.separator + "RedV.png"); input = Carte.class.getResourceAsStream("images" + File.separator + "RedV.png"); dos = ImageIO.read(input); input = Carte.class.getResourceAsStream(image); face = ImageIO.read(input); } catch (IOException e) { System.out.println("Erreur lecture images."); } finally { try { if (input != null) { input.close(); } } catch (IOException ex) { System.out.println("Erreur fermer input.close()."); } } } public Carte(Carte c) { valeur = c.getValeur(); sorte = c.getSorte(); face = c.getImageFace(); visible = c.isVisible(); } public int getValeur() { return valeur; } public String getSorte() { return sorte; } public boolean isMemeSorte(Carte carte) { boolean reponse = false; if (sorte.compareTo(carte.getSorte()) == 0) { reponse = true; } return reponse; } public boolean isMemeCouleur(Carte carte) { boolean reponse = false; String couleur1 = ""; String couleur2 = ""; couleur1 = getCouleur(this); couleur2 = getCouleur(carte); if (couleur1.equals(couleur2)) { reponse = true; } return reponse; } public boolean isSuivante(Carte carte) { boolean reponse = false; if (valeur == carte.getValeur() + 1) { reponse = true; } return reponse; } public boolean isVisible() { return visible; } public void setVisible(boolean etat) { visible = etat; } public BufferedImage getImageDos() { return dos; } public BufferedImage getImageFace() { return face; } @Override public String toString() { return valeur + " " + sorte; } private String getCouleur(Carte carte) { String couleur = ""; if (carte.getSorte().equals("hearts") || carte.getSorte().equals("diamonds")) { couleur = "red"; } if (carte.getSorte().equals("clubs") || carte.getSorte().equals("spades")) { couleur = "black"; } return couleur; } private String getNomImage(int v, String s) { String image = ""; if (s.equals("clubs")) { image = "images" + File.separator + v + "C.png"; } if (s.equals("diamonds")) { image = "images" + File.separator + v + "D.png"; } if (s.equals("hearts")) { image = "images" + File.separator + v + "H.png"; } if (s.equals("spades")) { image = "images" + File.separator + v + "S.png"; } return image; } }