void HandleScanFinished(Strategy e) { // bubble up the event if (ScanFinished != null) { ScanFinished(e); } }
public Solver(SudokuModel model) { _model = model; var multiStrategy = new MultiStrategy( new LoneRemainingCell(), new SetIsolation(), new TrialAndError(new LoneRemainingCell())); multiStrategy.ContainedStrategyFinished += HandleScanFinished; _eliminationStrategy = multiStrategy; }
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)); } }
/// <summary> /// The constructor /// </summary> /// <param name = "elimStrategies">The elimination strategies to run</param> public TrialAndError(params Strategy[] elimStrategies) { _elimStrategy = new MultiStrategy(elimStrategies); }