Skip to content

Instantly share code, notes, and snippets.

@danicunhac
Created April 19, 2019 18:45
Show Gist options
  • Save danicunhac/eb3e27c22d49d6df59d7a146b1d59350 to your computer and use it in GitHub Desktop.
Save danicunhac/eb3e27c22d49d6df59d7a146b1d59350 to your computer and use it in GitHub Desktop.
public class Bispo extends Peca {
public Bispo(Casa casa, char cor) {
super(casa, cor);
}
public boolean haPecas(Tabuleiro tabuleiro, Casa destino) {
boolean haPecas = false;
if(destino.getX() > casa.getX() && destino.getY() > casa.getY()) {
for(int x = casa.getX() + 1, y = casa.getY() + 1; y < destino.getY(); y++) {
if(tabuleiro.getCasa(casa.getX(), y).getPeca() != null) {
haPecas = true;
break;
}
}
}
else if(destino.getX() > casa.getX() && destino.getY() < casa.getY()){
for(int y = casa.getY() - 1 ; y > destino.getY(); y--){
if(tabuleiro.getCasa(casa.getX(), y).getPeca() != null) {
haPecas = true;
break;
}
}
}
else if(destino.getX() < casa.getX() && destino.getY() < casa.getY()){
for(int y = casa.getY() - 1; y > destino.getY(); y--) {
if(tabuleiro.getCasa(casa.getX(), y).getPeca() != null) {
haPecas = true;
break;
}
}
}
else if(destino.getX() < casa.getX() && destino.getY() > casa.getY()){
for(int y = casa.getY() + 1; y < destino.getY(); y++) {
if(tabuleiro.getCasa(casa.getX(), y).getPeca() != null) {
haPecas = true;
break;
}
}
}
else {
haPecas = true;
}
return haPecas;
}
public boolean captura(Casa destino) {
if(destino.getPeca() != null && destino.getPeca().getCor() != cor) {
return true;
}
else {
return false;
}
}
public boolean podeMover(Casa destino) {
int deltaX = Math.abs(destino.getX() - casa.getX());
int deltaY = Math.abs(destino.getY() - casa.getY());
if(destino.getPeca() == null && deltaX == deltaY) {
return true;
}
else {
return false;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment