1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
| public class Case extends JPanel implements MouseListener{
// les variables
private final int posX;
private final int posY;
private final Color couleur;
private boolean jouable;
Piece occupe;
// le constructeur
Case( int x,int y, Color c, int pos, boolean jouer)
{
posX=x;
posY=y;
jouable=jouer;
couleur=c;
switch(pos)
{
case Piece.vide:
{
occupe=null;
break;
}
case Piece.pion_vert:
{
occupe = new Pion(Color.orange,this,Table.haut);
break;
}
case Piece.pion_bleu:
{
occupe = new Pion(Color.yellow,this,Table.bas);
break;
}
case Piece.dame_vert:
{
occupe = new Dame(Color.green,this);
break;
}
case Piece.dame_bleu:
{
occupe = new Dame(Color.blue,this );
break;
}
}
setBorder(new BevelBorder(BevelBorder.LOWERED));
}
// les methodes
public void paintChildren(Graphics g){ // dessiner le pion dans la case
if(occupe!= null){
occupe.dessiner(g);
}
}
public boolean getpeutjouer()
{
return jouable;
}
public void setPiece(Piece p)
{
occupe=p;
}
public int getposX()
{
return posX;
}
public int getposY()
{
return posY;
}
public Color getcouleur()
{
return couleur;
}
public void select(boolean f)
{
if(f){
setBackground(Color.WHITE );
}
else{
setBackground(couleur);
}
}
public void setpeutjouer(boolean jouer)
{
jouable=jouer;
}
public void mouseClicked(MouseEvent arg0) {
//pour selectionné
if(this.getpeutjouer() && Table.selecte==null)
{
this.select(true);
Table.selecte=this;
}
else
{
if(!this.getpeutjouer() && this.getcouleur()!=Color.red)// la case est vide
{
Table.selecte.occupe.deplacer(Table.selecte, this);
this.setpeutjouer(true);
Table.selecte.setpeutjouer(false);
Table.selecte.select(false);
Table.selecte=null;
}
else if(Table.selecte!=null && this.getpeutjouer())
{
Table.selecte.select(false);
this.select(true);
Table.selecte=this;
}
}
}
} |
Partager