Beispiel #1
0
 private void BG_Worker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
 {
     try
     {
         if (MakeMazeCB.Checked)
         {
             MazeGenerator mazeGenerator = new MazeGenerator(new Size((int)ColumnsNUD.Value, (int)RowsNUD.Value));
             mazeGenerator.Generate();
             mazeGenerator.SaveAsImage(MakeOutputPathTB.Text);
             mazeGenerator = null;
             if (!SolveMazeCB.Checked)
             {
                 System.Diagnostics.Process.Start(MakeOutputPathTB.Text);
             }
         }
         if (SolveMazeCB.Checked)
         {
             MazeSolver mazeSolver = new MazeSolver(SolveInputPathTB.Text);
             mazeSolver.Solve();
             mazeSolver.SaveSolutionAsImage(SolveOutputPathTB.Text);
             mazeSolver = null;
             System.Diagnostics.Process.Start(SolveOutputPathTB.Text);
         }
         GC.Collect();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         throw;
     }
 }