-
Notifications
You must be signed in to change notification settings - Fork 0
/
CasaEntrada.java
41 lines (31 loc) · 1.13 KB
/
CasaEntrada.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
public class CasaEntrada extends Casa {
private String corDaEntrada;
private int movimentos;
public CasaEntrada(String corDaZonaSegura) {
super();
corDaEntrada = corDaZonaSegura;
}
public Casa proximaCasa(Castelo castelo, boolean curupira, Dado[] dados) {
if (castelo.getNivel() == 1)
movimentos = dados[0].getValor() + dados[1].getValor();
else
movimentos = Math.min(dados[0].getValor(), dados[1].getValor());
if (castelo.getCor() == corDaEntrada) {
return super.getCasaSegura().proximaCasa(castelo, curupira, movimentos - 1);
}
return super.getCasaSeguinte().proximaCasa(castelo, curupira, movimentos - 1);
}
public Casa proximaCasa(Castelo castelo, boolean curupira, int casasAAndar) {
if (this.possuiPeca()) {
if (this.getPeca().getNivel() > castelo.getNivel() && this.getPeca().getCor() != castelo.getCor())
return super.getCasaAnterior();
}
if (casasAAndar > 0) {
if (castelo.getCor() == corDaEntrada) {
return super.getCasaSegura().proximaCasa(castelo, curupira, casasAAndar - 1);
}
return super.getCasaSeguinte().proximaCasa(castelo, curupira, casasAAndar - 1);
}
return this;
}
}