Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modifications to solo_plus #6

Open
Anders-Holst opened this issue May 17, 2022 · 2 comments
Open

Modifications to solo_plus #6

Anders-Holst opened this issue May 17, 2022 · 2 comments

Comments

@Anders-Holst
Copy link

Hi Steffen,

I have hacked quite a bit on your solo extension. I may of course eventually add it on my own page, but first I wanted to check with you if there are any of those modifications that you like, and want to include in your version.

The background is that I by chance (or by youtubes algorithms) found the youtube channel "Cracking the cryptic". I got quite fascinated by the sudokus there with no (or almost no) given clue numbers (but instead various other conditions to make the solution unique). Your manual mode of solo_plus then came in very handy. But I quickly realized that to solve those puzzles in solo_plus, several extra features were needed. So therefore I implemented them. However, many of them can be useful also for normal sudokus.

In summary, what I have added:

  • Both upper and lower pencil marks (you need different meanings of the pencil marks, for example "this cell can only be 2 or 3", as opposed to "a 2 must go in one of these cells")

  • Possibility to color background of cells (sometimes you know that a set of cells maust be the same number, but not yet which - trying to use numbered pencil marks for this is sure to cause confusion)

  • Select several cells at once, to color or set (convenient if you eg want to add the same set of pencil marks to several cells)

  • Multi-digit numbers, instead of using letters for numbers above 9 (I prefer "10", "11" etc over lower case letters "a" and "b" etc. And I knew how to do it, and besides I needed the letters to specify colors)

  • Extended manual mode, can now input different sizes, x, jigsaw, and killer (by selecting several cells you can specify cages and regions. This was the most urgent addition to be able to play those weird boards from Cracking the cryptic, although you still need to keep track of all special conditions yourself of course)

  • As a consequence of the above, I had to slightly adjust the appearance and behaviour of some of your additions, ie the highlighted hints and the +/- keys, hopefully without degrading the functionality too much.

A more detailed description of all the modifications are in the comments near the top in the source code (after everyone else's comments).

Note that this is not the final version. Surely much can be enhanced. Naturally the interface is more complex with more functionality, so it may take a while getting used to what happens when clicking left or right, with or without shift, in selected or non-selected squares. (Squeezing in much functionality in just a few available buttons/keys in a self explanatory and intuitive way is always a challenge, so I can not promise I succeeded, but I tried the best I could.)

I attach the code here (renamed to txt to be able to attach it), rather than creating a huge pull request, since I don't expect you to want it all right now. But please try it out and tell me what you think.

Best Regards
Anders

solo_plus.txt

@Anders-Holst
Copy link
Author

For your info, I have now corrected some bugs, and also polished on the solver so it can handle killer sudoku without complete coverage of cages or killer cages without sums, as might be input in manual mode. So it can actually solve some of those more advanced grids on the web (unless they have a lot of additional rules of course). (It seems not to be too difficult to actually make it generate such non-complete killer puzzles too, but I have not done that yet.)

The new version is attached.

Anders

solo_plus.txt

@SteffenBauer
Copy link
Owner

Hi, thanks a lot for this. Just want to say I have not forgotten it, but currently busy with other things. Will hopefully get time to look deeper into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants