-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cavalo.java
45 lines (40 loc) · 1.26 KB
/
Cavalo.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
public class Cavalo extends Peca{
Cavalo (String tipo, char cor) {
super(tipo, cor);
}
public boolean movimento (int xInicial, int xFinal, int yInicial, int yFinal, Peca[][] t) {
int horizontal = xFinal - xInicial;
int vertical = yFinal - yInicial;
if (horizontal == 1 && vertical == 2)
return true;
if (horizontal == -1 && vertical == 2)
return true;
if (horizontal == 1 && vertical == -2)
return true;
if (horizontal == -1 && vertical == -2)
return true;
if (horizontal == 2 && vertical == 1)
return true;
if (horizontal == 2 && vertical == -1)
return true;
if (horizontal == -2 && vertical == 1)
return true;
if (horizontal == -2 && vertical == -1)
return true;
return false;
}
public boolean podeMover (int xInicial, int xFinal, int yInicial, int yFinal, Peca[][] t) {
boolean p = super.podeMover(xInicial, xFinal, yInicial, yFinal, t);
if (p) {
p = movimento (xInicial, xFinal, yInicial, yFinal, t);
}
return p;
}
public boolean temCaptura (int xInicial, int xFinal, int yInicial, int yFinal, Peca[][] t) {
boolean p = super.temCaptura (xInicial, xFinal, yInicial, yFinal,t);
if (p) {
p = movimento (xInicial, xFinal, yInicial, yFinal, t);
}
return p;
}
}