public void SolveLogically() { HintSelections.Level[] levels = new HintSelections.Level[] { HintSelections.Level.Easy, HintSelections.Level.Medium, HintSelections.Level.Hard, HintSelections.Level.Extreme, HintSelections.Level.Diabolical }; foreach (HintSelections.Level level in levels) { HintSelections hs = new HintSelections(level); SolveResult solns = solver.DoLogicalSolve(this, hs); if (solns == SolveResult.SingleSolution) { SolveLevel(level); return; } else if (solns != SolveResult.TooDifficult) { ShowSolveResult(solns); return; } } ShowSolveResult(SolveResult.TooDifficult); }
public void RateDifficulty(out HintSelections.Level?result, out SolveResult solns) { HintSelections.Level[] levels = new HintSelections.Level[] { HintSelections.Level.Easy, HintSelections.Level.Medium, HintSelections.Level.Hard, HintSelections.Level.Extreme, HintSelections.Level.Diabolical }; foreach (HintSelections.Level level in levels) { HintSelections hs = new HintSelections(level); solns = solver.DoLogicalSolve(this, hs); if (solns != SolveResult.TooDifficult) { result = level; return; } } result = null; solns = SolveResult.TooDifficult; }
public void SolveLevel(HintSelections.Level level) { Updated(); // Made some progress MessageBox.Show("Solution found, " + level, "Solve", MessageBoxButtons.OK, MessageBoxIcon.Information); }