Example #1
0
 void HandleScanFinished(Strategy e)
 {
     // bubble up the event
     if (ScanFinished != null) {
         ScanFinished(e);
     }
 }
Example #2
0
 public Solver(SudokuModel model)
 {
     _model = model;
     var multiStrategy = new MultiStrategy(
         new LoneRemainingCell(),
         new SetIsolation(),
         new TrialAndError(new LoneRemainingCell()));
     multiStrategy.ContainedStrategyFinished += HandleScanFinished;
     _eliminationStrategy = multiStrategy;
 }
Example #3
0
 void HandleSolverScanFinished(Strategy strategy)
 {
     if (_chkUpdate.Checked) {
         AppendProgressLine(string.Format("{0}:\t {1}, {2}\t({3}, {4})",
             strategy.GetType().Name,
             strategy.EliminatedLastRun,
             Math.Round(strategy.TimeLastRun.TotalMilliseconds),
             strategy.TotalEliminated,
             strategy.TotalTime.TotalMilliseconds));
     }
 }
Example #4
0
 /// <summary>
 ///   The constructor
 /// </summary>
 /// <param name = "elimStrategies">The elimination strategies to run</param>
 public TrialAndError(params Strategy[] elimStrategies)
 {
     _elimStrategy = new MultiStrategy(elimStrategies);
 }