Example #1
0
        private void loadGameToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    var doc = new XmlDocument();

                    //Load the document with the last book node.
                    var reader = new XmlTextReader(openFileDialog1.OpenFile())
                    {
                        WhitespaceHandling = WhitespaceHandling.None
                    };

                    reader.Read();

                    doc.Load(reader);

                    var matchNode = doc.GetElementsByTagName("Match");
                    var sizeNode  = matchNode.Item(0)?.ChildNodes.Item(1);

                    if (sizeNode == null)
                    {
                        Console.WriteLine(@"The file was not in the proper format.");
                        return;
                    }

                    _referee = new Referee(Convert.ToInt32(sizeNode.InnerText));

                    var firstPlayer = new Playback(1, _referee.Size, new Config());
                    var otherPlayer = new Playback(2, _referee.Size, new Config());
                    var player1Turn = 1;
                    var player2Turn = 1;
                    var moves       = doc.GetElementsByTagName("Move");
                    foreach (XmlNode move in moves)
                    {
                        var player = Convert.ToInt32(move["Player"]?.InnerText);
                        var x      = Convert.ToInt32(move["X"]?.InnerText);
                        var y      = Convert.ToInt32(move["Y"]?.InnerText);
                        if (player == 1)
                        {
                            firstPlayer.AddMove(x, y, player1Turn);
                            player1Turn++;
                        }
                        else
                        {
                            otherPlayer.AddMove(x, y, player2Turn);
                            player2Turn++;
                        }
                    }

                    _referee.Player1 = firstPlayer;
                    _referee.Player2 = otherPlayer;

                    // and feed it the moves
                    StartGame();
                }
                catch (Exception exception)
                {
                    MessageBox.Show(@"Game couldn't be loaded properly : " + exception.Message);
                    Console.WriteLine(@"Game couldn't be loaded properly : " + exception.Message);
                }
            }
        }