protected override GameCreationData FenStringToGameCreationData(string fen)
{
GameCreationData gcd = base.FenStringToGameCreationData(fen);
string[] parts = fen.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
if (parts.Length == 7)
{
Regex re = new Regex(@"^\+(\d)\+(\d)$");
Match m = re.Match(parts[6]);
if (!m.Success)
{
throw new ArgumentException("Invalid FEN: invalid check counter.");
}
gcd.ThreeCheck_ChecksByWhite = int.Parse(m.Groups[1].Value);
gcd.ThreeCheck_ChecksByBlack = int.Parse(m.Groups[2].Value);
}
return gcd;
}