static IsGoodEnpassant(enpassant) {
    if (enpassant != "-") {
      const squares = enpassant.split(",");
      if (squares.length > 2) return false;
      for (let sq of squares) {
        const ep = V.SquareToCoords(sq);
        if (isNaN(ep.x) || !V.OnBoard(ep)) return false;
      }
    }
    return true;
  }
// NOTE: keep this extensive check because the board has holes
keep this extensive check because the board has holes
keep this extensive check because the board has holes
static IsGoodEnpassant(enpassant) {
    if (enpassant != "-") {
      const squares = enpassant.split(",");
      if (squares.length > 2) return false;
      for (let sq of squares) {
        const ep = V.SquareToCoords(sq);
        if (isNaN(ep.x) || !V.OnBoard(ep)) return false;
      }
    }
    return true;
  }
static IsGoodEnpassant ( enpassant ) { if ( enpassant != "-" ) { const squares = enpassant . split ( "," ) ; if ( squares . length > 2 ) return false ; for ( let sq of squares ) { const ep = V . SquareToCoords ( sq ) ; if ( isNaN ( ep . x ) || ! V . OnBoard ( ep ) ) return false ; } } return true ; }
NOTE: keep this extensive check because the board has holes
NOTE : keep this extensive check because the board has holes