static IsGoodFen(fen) {
    const fenParsed = V.ParseFen(fen);
    // 1) Check position
    if (!V.IsGoodPosition(fenParsed.position)) return false;
    // 2) Check turn
    if (!fenParsed.turn || !V.IsGoodTurn(fenParsed.turn)) return false;
    // 3) Check moves count
    if (!fenParsed.movesCount || !(parseInt(fenParsed.movesCount, 10) >= 0))
      return false;
    // 4) Check flags
    if (V.HasFlags && (!fenParsed.flags || !V.IsGoodFlags(fenParsed.flags)))
      return false;
    // 5) Check enpassant
    if (
      V.HasEnpassant &&
      (!fenParsed.enpassant || !V.IsGoodEnpassant(fenParsed.enpassant))
    ) {
      return false;
    }
    return true;
  }
// Check if FEN describes a board situation correctly
Check if FEN describes a board situation correctly
Check if FEN describes a board situation correctly
static IsGoodFen(fen) {
    const fenParsed = V.ParseFen(fen);
    if (!V.IsGoodPosition(fenParsed.position)) return false;
    if (!fenParsed.turn || !V.IsGoodTurn(fenParsed.turn)) return false;
    if (!fenParsed.movesCount || !(parseInt(fenParsed.movesCount, 10) >= 0))
      return false;
    if (V.HasFlags && (!fenParsed.flags || !V.IsGoodFlags(fenParsed.flags)))
      return false;
    if (
      V.HasEnpassant &&
      (!fenParsed.enpassant || !V.IsGoodEnpassant(fenParsed.enpassant))
    ) {
      return false;
    }
    return true;
  }
static IsGoodFen ( fen ) { const fenParsed = V . ParseFen ( fen ) ; if ( ! V . IsGoodPosition ( fenParsed . position ) ) return false ; if ( ! fenParsed . turn || ! V . IsGoodTurn ( fenParsed . turn ) ) return false ; if ( ! fenParsed . movesCount || ! ( parseInt ( fenParsed . movesCount , 10 ) >= 0 ) ) return false ; if ( V . HasFlags && ( ! fenParsed . flags || ! V . IsGoodFlags ( fenParsed . flags ) ) ) return false ; if ( V . HasEnpassant && ( ! fenParsed . enpassant || ! V . IsGoodEnpassant ( fenParsed . enpassant ) ) ) { return false ; } return true ; }
Check if FEN describes a board situation correctly
Check if FEN describes a board situation correctly
// 1) Check position // 2) Check turn // 3) Check moves count // 4) Check flags // 5) Check enpassant