Esempio n. 1
0
 //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");
         }
     }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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();
        }