public List <Piece> GetAllPieces(PieceColor color) { List <Piece> pieceList = new List <Piece>(); Piece[] pieceArray = Board.GetAllPieces(color); for (int i = 0; i < 16; i++) { if (pieceArray[i] != null) { pieceList.Add(pieceArray[i]); } } return(pieceList); }
internal void ClearPassant(PieceColor color) { foreach (Piece p in Board.GetAllPieces(color)) { if (p is Pawn) { if (p.Color == PieceColor.White) { Board.UpdatePieceEnum(p, PieceEnum.WhitePawn); } else { Board.UpdatePieceEnum(p, PieceEnum.BlackPawn); } } } }
public List <Move> GetAllMoves(PieceColor color) { List <Move> moves = new List <Move>(); foreach (Piece p in Board.GetAllPieces(color)) { if (p != null) { foreach (Move m in p.GetPotentialMoves()) { moves.Add(m); } } } return(moves); }