public bool Test(bool a_all) { if (m_after == null) { return(false); } if (m_solution == null) { return(false); } SudokuSolutionNode node = SudokuSolutionNode.CreateRoot(m_before); if (a_all) { node.StepAll(); } else { node.Step(m_solution.Type); } SudokuSolutionNode solved_node = node.Nodes.FirstOrDefault(n => n.Solution.Equals(m_solution)); if (solved_node == null) { return(false); } return(m_after.Equals(solved_node.NextBoard)); }
private static SudokuSolutionNode LoadFromXML(XElement a_element) { try { SudokuSolutionNode node = SudokuSolutionNode.CreateRoot(SudokuBoard.LoadFromXML(a_element.Element("board"))); Debug.Assert(a_element.Element("solution").IsEmpty); LoadNodesFromXML(a_element, node); return(node); } catch { return(null); } }