private void CompareFlags(Move m) { if (!GameValidator.IsLegalMove(m.MoveString)) { MoveFlags = ""; return; } string validatorFlags = GameValidator.GetMoveFlags(m.MoveString); GameValidator.AppendMove(m.MoveString); bool equal = true; foreach (char c in m.MoveFlags) { if (!validatorFlags.Contains(c) && c.ToString() != Moves.EnpassantCapture) { equal = false; break; } } if (equal) { foreach (char c in validatorFlags) { if (!m.MoveFlags.Contains(c)) { equal = false; break; } } } this.MoveFlags = "MV : '" + m.MoveFlags + "'" + Environment.NewLine + "GV : '" + validatorFlags + "'" + Environment.NewLine; this.MoveFlags += "Fen : '" + m.Fen + "'" + Environment.NewLine + "Move : '" + m.MoveString + "'"; if (equal) { return; } if (MoveFlagsError != null) { MoveFlagsError(this, EventArgs.Empty); } }