-
Notifications
You must be signed in to change notification settings - Fork 0
/
Pion.java
111 lines (90 loc) · 2.13 KB
/
Pion.java
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
import java.awt.Image;
import java.io.*;
public class Pion extends Piece implements Serializable
{
private static final long serialVersionUID = 5L;
public Pion(){} //constructeur vide
public Pion(boolean etat,int couleur,int x,int y,Image img,String loc_img)
{
super(etat,couleur,x,y,img,loc_img);
}
public Pion(Pion pion)
{
super(pion);
}
public String toString()
{
return "P"+this.get_couleur();
}
public boolean mouv_possible(int x,int y)
{
int mouv_x=x-this.get_x(); //de combien de case il bouge sur l'axe x
int mouv_y=y-this.get_y(); //de combien de case il bouge sur l'axe y
if (mouv_x==0 && mouv_y==0)
{
return false;
}
if(this.get_couleur()==0)
{
mouv_x=mouv_x*-1;
mouv_y=mouv_y*-1;
}
if(mouv_x==0)
{
if(mouv_y==2 && this.get_etat()==false)
{
return true;
}
if(mouv_y==1)
{
return true;
}
}
return false;
}
public boolean manger_possible(int dest_x,int dest_y)
{
int mouv_x=dest_x-this.get_x(); //de combien de case il bouge sur l'axe x
int mouv_y=dest_y-this.get_y(); //de combien de case il bouge sur l'axe y
if(this.get_couleur()==0)
{
mouv_x=mouv_x*-1;
mouv_y=mouv_y*-1;
}
mouv_x=Math.abs(mouv_x);
if(mouv_y==1 && mouv_x==1)
{
return true;
}
return false;
}
public int pion_id(){return 1;}
/*public int[] direction(int x,int y)
{
//retourne un tableau[2] avec [0]=-1,0 ou 1 sur x et pareil avec [1] sur y
//donne la direction du déplacement
int mouv_x=x-this.get_x(); //de combien de case il bouge sur l'axe x
int mouv_y=y-this.get_y(); //de combien de case il bouge sur l'axe y
int[] tab=new int[2];
if(this.get_couleur()==0)
{
tab[0]=mouv_x*-1;
tab[1]=mouv_y*-1;
}
if(this.get_couleur()==1)
{
tab[0]=mouv_x;
tab[1]=mouv_y;
}
return tab;
}*/
public boolean promotion_possible()
{
int y=this.get_y();
if((y==0 && this.get_couleur()==0) || (y==7 && this.get_couleur()==1))
{
return true;
}
return false;
}
}