/** * La classe Block est utilisée pour créer les blocs * * @version 0.1 * @author Adil HAMMERSCHMIDT & Lucas GRANDJEAN */ import java.awt.*; import javax.swing.*; public class Block extends JPanel { private int column; private int line; private char color; private int status; /** * Constructeur uniquement destiné à la création des variables publiques. * * @param blockColumn le numéro de la colonne où se trouve le bloc * @param blockLine le numéro de la ligne où se trouve le bloc * @param blockColor la couleur du bloc */ public Block(int blockColumn, int blockLine, char blockColor) { super(); this.column = blockColumn; this.line = blockLine; this.color = blockColor; this.status = 1; } /** * Renvoie le numéro de colonne du bloc * * @return Renvoie le numéro de colonne du bloc (de 0 à 14) */ public int getColumn() { return this.column; } /** * Renvoie le numéro de ligne du bloc * * @return Renvoie le numéro de ligne du bloc (de 0 à 9) */ public int getLine() { return this.line; } /** * Renvoie la couleur du bloc * * @return Renvoie la couleur du bloc ('R', 'V' ou 'B') */ public char getColor() { return this.color; } /** * Renvoie le status * * @return Renvoie le status du bloc (1 ou 0) */ public int getStatus() { return this.status; } /** * Modifie le numéro de colonne du bloc * * @param blockColumn le numéro de la colonne que l'on souhaite affecter au bloc (de 0 à 14) */ public void setColumn(int blockColumn) { this.column = blockColumn; } /** * Modifie le numéro de ligne du bloc * * @param blockLine le numéro de la ligne que l'on souhaite affecter au bloc (de 0 à 9) */ public void setLine(int blockLine) { this.line = blockLine; } /** * Modifie la couleur du bloc * * @param blockColor la couleur que l'on souhaite affecter au bloc ('R', 'V' ou 'B') */ public void setColor(char blockColor) { this.color = blockColor; } /** * Modifie le status du bloc * * @param blockStatus le status que l'on souhaite affecter au bloc (1 ou 0) */ public void setStatus(int blockStatus) { this.status = blockStatus; } /** * Actualise les graphiques du block */ @Override public void paintComponent(Graphics g) { if (this.isOpaque()) { g.setColor(this.getBackground()); g.fillRect(0, 0, this.getWidth(), this.getHeight()); } if(this.status == 1) { if(this.color == 'R') { Image img = getToolkit().getImage(this.getClass().getResource("/img/rouge.png")); g.drawImage(img, 0, 0, this); } else if(this.color=='V') { Image img = getToolkit().getImage(this.getClass().getResource("/img/vert.png")); g.drawImage(img, 0, 0, this); } else if(this.color=='B') { Image img = getToolkit().getImage(this.getClass().getResource("/img/bleu.png")); g.drawImage(img, 0, 0, this); } } else { g.setColor(Color.WHITE); g.drawOval(0, 0, 50, 50); g.fillOval(0, 0, 50, 50); } } }