//Dictionary<int, int> scores = new Dictionary<int, int>(); //Dictionary<int, Genome> genomes = new Dictionary<int, Genome>(); public InterfaceForm() { InitializeComponent(); Color[] colours = new Color[] { Color.Red, Color.Blue, Color.Green }; if (SudokuLoad.ParseSudoku(sudokufile, out WholeGird g)) { gird = g; } if (Genome.ParseGenome(genomefile, out Genome ge) && (SudokuLoad.LoadScore(scorefile, out int id, out int score))) //if (XML_Formatting.ParseGenome(genomefile, out Genome ge) && (SudokuLoad.LoadScore(scorefile, out int id, out int score))) { if (ge.ID == id) { maxgenome = ge; maxscore = score; Console.WriteLine("Successfully parsed."); } else { MessageBox.Show("Didn't parse properly. 1"); } }
public static bool ParseSudoku(string filepath, out WholeGird grid) { filepath = filepath.EndsWith(".xml") ? filepath : filepath + ".xml"; if (!File.Exists(filepath)) { grid = null; return(false); } grid = new WholeGird(); XmlReader xmlreader = XmlReader.Create(filepath); while (xmlreader.Read()) { if (xmlreader.IsStartElement("Cube")) { int X = int.Parse(xmlreader["x"]); int Y = int.Parse(xmlreader["y"]); XmlReader cube = xmlreader.ReadSubtree(); while (cube.Read()) { if (cube.IsStartElement("subcolumn")) { int x = int.Parse(cube["x"]); XmlReader subcolumn = xmlreader.ReadSubtree(); while (subcolumn.Read()) { if (subcolumn.IsStartElement("val")) { int y = int.Parse(subcolumn["y"]); subcolumn.Read(); grid[X][Y][x][y].Value = int.Parse(subcolumn.Value); } } } } } } return(true); }
public static void SaveSudoku(WholeGird grid, string filepath) { filepath = filepath.EndsWith(".xml") ? filepath : filepath + ".xml"; //if (File.Exists(filepath)) //{ // filepath = filepath.Insert(filepath.LastIndexOf(".xml"), "0"); //} XmlWriter xmlwriter = XmlWriter.Create(filepath, XML_Formatting.GetSettings()); xmlwriter.WriteStartDocument(); xmlwriter.WriteStartElement("sudoku"); for (short X = 0; X < 3; X++) { for (short Y = 0; Y < 3; Y++) { xmlwriter.WriteStartElement("Cube"); xmlwriter.WriteAttributeString("x", X.ToString()); xmlwriter.WriteAttributeString("y", Y.ToString()); for (short x = 0; x < 3; x++) { xmlwriter.WriteStartElement("subcolumn"); xmlwriter.WriteAttributeString("x", x.ToString()); for (short y = 0; y < 3; y++) { xmlwriter.WriteStartElement("val"); xmlwriter.WriteAttributeString("y", y.ToString()); xmlwriter.WriteValue(grid[X][Y][x][y].Value); xmlwriter.WriteEndElement(); } xmlwriter.WriteEndElement(); } xmlwriter.WriteEndElement(); } } xmlwriter.WriteEndElement(); xmlwriter.WriteEndDocument(); xmlwriter.Close(); }