public override bool validateMove(Coord oldLoc, int newX, int newY, Board board, bool check) { /* Same x or y not an available move */ if (oldLoc.getX() == newX || oldLoc.getY() == newY) { return(false); } else { List <Coord> validMove = allvalidMoves(board, oldLoc.getX(), oldLoc.getY(), newX, newY, true, check); // Was the newX/newY avaible on any of the Piece's valid paths if (validMove.Count != 0) { return(true); } return(false); } }
public override bool validateMove(Coord oldLoc, int newX, int newY, Board board, bool check) { List <Coord> validList = validMoves(board, oldLoc.getX(), oldLoc.getY(), newX, newY, check); /* Check new coords agaisnt List of Valid Moves, while checking if path is clear * on the way to the new Coords */ foreach (Coord c in validList) { if (c.getX() == newX && c.getY() == newY) { // Valid Move return(true); } } return(false); }
public override bool validateMove(Coord oldLoc, int newX, int newY, Board board, bool check) { // In this case, last boolean parameter does not matter List <Coord> validMove = allvalidMoves(board, oldLoc.getX(), oldLoc.getY(), newX, newY, true, check); /* Check new coords agaisnt List of Valid Moves */ foreach (Coord c in validMove) { if (c.getX() == newX && c.getY() == newY) { // New move exsits within list of old moves return(true); } } return(false); }