private void Form1_Load(object sender, EventArgs e) { // deserialization Stream objstreamdeserialize_SudokuGrid = new FileStream("data.bin", FileMode.Open, FileAccess.Read, FileShare.Read); Stream objstreamdeserialize_moveLog = new FileStream("data1.bin", FileMode.Open, FileAccess.Read, FileShare.Read); try { sudokuGrid = (SudokuGrid)objBinaryFormatter.Deserialize(objstreamdeserialize_SudokuGrid); moveLog = (Dictionary <Point, int>)objBinaryFormatter.Deserialize(objstreamdeserialize_moveLog); foreach (KeyValuePair <Point, int> kvp in moveLog) { sudokuGrid.MakeMove(kvp.Key.X, kvp.Key.Y, kvp.Value);//y,x } gameBoard = new SudokuTableGraphic(sudokuGrid); this.Controls.Add(gameBoard); } catch (Exception ea) { DrawBoard(); } finally { objstreamdeserialize_SudokuGrid.Close(); objstreamdeserialize_moveLog.Close(); } }
public void DrawBoard() { if (!(gameBoard == null)) { gameBoard.Dispose(); } SudokuGrid.GameDifficulty diff; if (radioButton1.Checked) { diff = SudokuGrid.GameDifficulty.Hard; } else if (radioButton2.Checked) { diff = SudokuGrid.GameDifficulty.Medium; } else { diff = SudokuGrid.GameDifficulty.Easy; } sudokuGrid = new SudokuGrid(diff); gameBoard = new SudokuTableGraphic(sudokuGrid); moveLog = new Dictionary <Point, int>(); this.Controls.Add(gameBoard); }