angusj wrote:No, I'm afraid the source code is not available.
What about only the code that handles the part where puzzles are pasted into the program. I'm really intrigued to see what sort of pattern recognition you employ. Do you use regular expressions to manipulate the pasted puzzle?
angusj wrote:I'll consider your Step Through option, I guess when combined with hints it could be a kind of tutorial.
A tutorial is a good idea. My thought was to be able to quickly step forward to a point that is a few dozen steps into the solution without having to manually complete each step. However, I can see a Step-Through option making it very easy for people to quickly burn through a solution without having to think very hard. Perhaps by only implementing the Second-Hint option and still requiring manual input for each step, the user will be forced to work towards the solution at a slower pace, forcing them to consider the implications of each step. I will leave this up to you to decide.
angusj wrote:Not sure about the shrink option - why would that be helpful to you?
When I'm using your program and, at the same time, trying to type something in a web browser, I have to keep Alt-Tabbing back and forth between the two windows because your program window is so large. It would be nice to resize your program window so I can have it and my web browser side-by-side.
angusj wrote:Yes, pencilmark (candidate) state should already be preserved when saving. Are you not finding that the case?
Yes, the candidate state is being properly recorded when I save. It took me a couple minutes and a few moves to understand the format. Very cleverly done. I suspect this is how your undo history works so well? (I just noticed that you can open a saved file and then perform undo's. Very slick!)
What I was suggesting is something like the following. Suppose you paste the following (ridiculously simple) puzzle into your program.
- Code: Select all
. . . | 7 1 9 | 8 4 6
1 6 8 | . 3 . | 7 9 .
9 4 7 | . 8 2 | . . .
-------+-------+-------
8 7 5 | 9 . 1 | . . 4
2 1 6 | 3 . 4 | 9 8 7
4 . . | 8 . 6 | 5 2 1
-------+-------+-------
. . . | 1 9 . | 2 7 3
. 9 1 | . 4 . | 6 5 8
3 8 2 | 5 6 7 | . . .
Then your program does its fantastic job of quickly displaying the candidates. At this point, it would be nice if I could export a snapshot of the candidates. Perhaps your program could produce a text output similar to the following. It could either output it to a file or to the clipboard.
- Code: Select all
{5} {235} {3} | 7 1 9 | 8 4 6
1 6 8 | {4} 3 {5} | 7 9 {25}
9 4 7 | {6} 8 2 | {13} {13} {5}
----------------+-------------+---------------
8 7 5 | 9 {2} 1 | {3} {36} 4
2 1 6 | 3 {5} 4 | 9 8 7
4 {3} {39} | 8 {7} 6 | 5 2 1
----------------+-------------+---------------
{56} {5} {4} | 1 9 {8} | 2 7 3
{7} 9 1 | {2} 4 {3} | 6 5 8
3 8 2 | 5 6 7 | {14} {1} {9}
I have thought of one more feature request. Under the File menu, could you please add a recently saved/opened file history list, similar to what you see in Word or Notepad.
And a couple more kudos. Bravo to you for providing all of your menu options with shortcut keys; being someone who usually lets the mouse sit idle, I appreciate being able to use a program solely via the keyboard. And I really like the order and positioning in which your candidates are displayed.
- Code: Select all
123
456
789
When I solve a sudoku on paper, I write my pencilmarks in the exact locations you have placed yours.