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); } } }