OOP_2A5_Project/src/backend/SpecialMoves.java

91 lines
2.6 KiB
Java

/*package backend;
public class SpecialMoves {
<<<<<<< HEAD
private Piece piece;
private Board board;
private Piece piece;
private Board board;
private int x = piece.getX();
private int y = piece.getY();
private PieceType type = PieceType.getType();
private boolean isWhite;
/* public SpecialMoves(Piece piece, Board board) {
this.piece = piece;
this.board = board;
} //???
public boolean checkCoordinates(int x, int y, PieceType type, boolean isWhite) {
if (type == PieceType.Pawn || isWhite == true || y == 6) {
int[][] offsets = {{1, -2}, {-1, -2}};
}
if (type == PieceType.Pawn || isWhite == false || y == 1) {
int[][] offsets = {{1, 2}, {-1, 2}};
}*/
/* public boolean checkCoordinates(int x, int y, PieceType type, boolean isWhite) {
if (type == PieceType.Pawn || isWhite == true || y == 3) {
>>>>>>> branch 'master' of https://gitarero.ecam.fr/louise.berteloot/OOP_2A5_Project.git
int[][] offsets = {{1, 0}, {-1, 0}};
}
if (type == PieceType.Pawn && isWhite == false && y == 4) {
int[][] offsets = {{1, 0}, {-1, 0}};
}
}
public boolean isEnpassant() {
boolean isWhite = piece.isWhite();
<<<<<<< HEAD
if (boolean isWhite == true && PieceType getType() == PieceType.Pawn) { //no idea honestly
=======
if (isWhite == true || PieceType getType() == PieceType.Pawn) { //no idea honestly
>>>>>>> branch 'master' of https://gitarero.ecam.fr/louise.berteloot/OOP_2A5_Project.git
if ()
}
if (boolean isWhite == false && //PieceType type == Pawn) {
if ()
}
}
}
package backend;
public class SpecialMoves {
private Piece piece;
private Board board;
public SpecialMoves(Piece piece, Board board) {
this.piece = piece;
this.board = board;
}
// Call this when trying to move a pawn to check for en passant
public boolean isEnpassant(int fromX, int fromY, int toX, int toY) {
if (piece.getType() != PieceType.Pawn) return false;
boolean isWhite = piece.isWhite();
// En passant capture happens diagonally
int dx = toX - fromX;
int dy = toY - fromY;
if (Math.abs(dx) != 1 || (isWhite && dy != -1) || (!isWhite && dy != 1)) {
return false;
}
// Check the adjacent piece
Piece sidePawn = board.getPieceAt(toX, fromY);
if (sidePawn == null || sidePawn.getType() != PieceType.Pawn || sidePawn.isWhite() == isWhite) {
*/