private static void PrintResult(IPuzzleSolver day) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); Console.WriteLine("{0}{1}{2}", "-----", day.GetName(), "-----"); day.ParseInput(); Console.WriteLine("Result part 1: "); day.SolvePartOne(); stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; PrintTimeElapsed(ts); stopWatch.Reset(); stopWatch.Start(); Console.WriteLine("Result part 2: "); day.SolvePartTwo(); stopWatch.Stop(); ts = stopWatch.Elapsed; PrintTimeElapsed(ts); }
protected static void CreateAndSolve() { IPuzzleSolver solver = PuzzleSolverFactory.Create(); object answer = solver.Solve(); Console.WriteLine($"Answer for day {solver.Day} is {answer}"); }
private static void SolveTask(IPuzzleSolver solver, int taskNumber) { var result = taskNumber == 1 ? solver.SolveFirstTask() : solver.SolveSecondTask(); if (!string.IsNullOrEmpty(result)) { Console.WriteLine($"Task {taskNumber}: {result}"); } }
/// <summary> /// Base ctor for PuzzleGenerator /// </summary> /// <param name="puzzleGeneratorOptions"></param> /// <param name="puzzleSolver"></param> /// <param name="coordinateGenerator"></param> /// <param name="puzzleSolution">The solved puzzle to generate a playable puzzle from.</param> public PuzzleGenerator(IPuzzleGeneratorOptions puzzleGeneratorOptions, IPuzzleSolver puzzleSolver, IClueCoordinateGenerator coordinateGenerator, Puzzle puzzleSolution) { _puzzleGeneratorOptions = puzzleGeneratorOptions ?? throw new ArgumentNullException(nameof(puzzleGeneratorOptions)); _puzzleSolver = puzzleSolver ?? throw new ArgumentNullException(nameof(puzzleSolver)); _coordinateGenerator = coordinateGenerator ?? throw new ArgumentNullException(nameof(coordinateGenerator)); PuzzleSolution = puzzleSolution ?? throw new ArgumentNullException(nameof(puzzleSolution)); }
public TimedPuzzleSolver(IPuzzleSolver puzzleSolver, int runXTimes = 1) { _puzzleSolver = puzzleSolver; this.runXTimes = runXTimes; }
public PuzzleGameRunner(IPuzzleSolver puzzleSolver, IWordSearchFileParser wordSearchFileParser) { _puzzleSolver = puzzleSolver; _wordSearchFileParser = wordSearchFileParser; }
/// <summary> /// Creates a puzzle generator for generating puzzles. /// </summary> /// <param name="puzzleFromSize"> /// A function that constructs an empty <see cref="IPuzzle{TPuzzle}"/> of the desired type and shape. /// The requested puzzle size (i.e. side-length) is provided as an argument. /// </param> /// <param name="solver"> /// A solver to be used to generate puzzles. The solver determines the rules or constraints /// a puzzle must satisfy. /// </param> public PuzzleGenerator(Func <int, TPuzzle> puzzleFromSize, IPuzzleSolver <TPuzzle> solver) { _puzzleFactory = puzzleFromSize; _solver = solver; }
public static void Init(TestContext context) { _puzzleSolver = new Solvers.DefaultPuzzleSolver(); }
public PuzzleController(IPuzzleSolver puzzleSolver) { _puzzleSolver = puzzleSolver; }