示例#1
0
        private void solveButton_Click(object sender, EventArgs e)
        {
            var rowString = "";

            foreach (var box in rowTextBoxs)
            {
                rowString += box.Value.Text + ";";
            }
            var colString = "";

            foreach (var box in rowTextBoxs)
            {
                colString += box.Value.Text + ";";
            }

            var puzzle = PuzzleFactory.Instance().MakePuzzle(numberOfRows, numberOfColumns, rowString, colString);

            PuzzleSolver solver = new PuzzleSolver(puzzle);

            solver.Solve();

            if (solver.Solve())
            {
                UpdateDisplay(puzzle);
            }
            else
            {
                MessageBox.Show(solver.ErrorMessage);
            }
        }
示例#2
0
 public void TestSetUp()
 {
     Puzzle = PuzzleFactory.Instance().MakePuzzle(5, 5, new List <Line>
     {
         PuzzleFactory.Instance().MakeLine <Row>(new[] { 1, 1 }, 0),
         PuzzleFactory.Instance().MakeLine <Row>(new[] { 5 }, 1),
         PuzzleFactory.Instance().MakeLine <Row>(new[] { 1, 1 }, 2),
         PuzzleFactory.Instance().MakeLine <Row>(new[] { 5 }, 3),
         PuzzleFactory.Instance().MakeLine <Row>(new[] { 1, 1 }, 4),
         PuzzleFactory.Instance().MakeLine <Column>(new[] { 1, 1 }, 0),
         PuzzleFactory.Instance().MakeLine <Column>(new[] { 5 }, 1),
         PuzzleFactory.Instance().MakeLine <Column>(new[] { 1, 1 }, 2),
         PuzzleFactory.Instance().MakeLine <Column>(new[] { 5 }, 3),
         PuzzleFactory.Instance().MakeLine <Column>(new[] { 1, 1 }, 4)
     });
 }