Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 public void SolveLevel(HintSelections.Level level)
 {
     Updated(); // Made some progress
     MessageBox.Show("Solution found, " + level, "Solve", MessageBoxButtons.OK, MessageBoxIcon.Information);
 }