chrisboyle / sgtpuzzles

Android port of Simon Tatham's Puzzles
https://chris.boyle.name/puzzles
Other
597 stars 168 forks source link

NEW GAME: Rectify Sudoku #603

Closed goyalyashpal closed 6 months ago

goyalyashpal commented 1 year ago

Community request:

Please do NOT suggest me to post this to upstream to sgtatham. You are welcome to take this initiative on your own.

Summary:

A sudoku grid (aka solo), fully filled but with some errors will be given. The player has to rectify it.

Interface:

Option:

Technical details (bird eye view):

Addendum: Well, some certains will have to be there, otherwise one can just change all the cells. So, what can be done is to enable showing of certains as hint or not.

Errors types:

There can be multiple error types in sudoku (these feel similar to defects in crystal lattice lol):

On basis of causes:

On basis of affected component:

goyalyashpal commented 1 year ago

Backstory:

But then:

This resulted me being here with this suggestion

JonnyTech commented 1 year ago

Please direct this request upstream to Simon: anakin[at]pobox[dot]com

goyalyashpal commented 1 year ago

self hiding as pasted in other issue


ANDDD.... i deciphered the game description id for solo game (#510):

2x2: a 3e 3_ 1e 2a spaces added by me just for clarity

In BNF, it would be:

STATEMENTS
<game_description> := <size>:<terminal_blank><other_cell_description>
<size> := <digit>x<digit>
<other_cell_description> := <cell_description> [ no. of given digits times ]
<cell_description> := <digit><blanks_with_next_digit>
<blanks_with_next_digit> := if not last cell then <digit_blank> else <terminal_blank>

LITERALS
<digit_blank> := <lower_alphabet> | <underscore>
<terminal_blank> := <lower_alphabet> | <nothing>

OBVIOUS LITERALS
digit
lower_alphabet
underscore
nothing
goyalyashpal commented 1 year ago

The resulting erraneous sudoku is shared below (rule violation highlighed in eclipse):

Find if you can fix it ;) 😋

As can be seen, this mistake is only in 1D, as all the sub-blocks are all valid.

JonnyTech commented 1 year ago

@goyalyashpal this project is a port of Simon's Puzzels - @chrisboyle has previously stated:

this project is actually a port; Simon Tatham still maintains the original collection for other platforms and I try to remain consistent with that

Please do not ask us to post your suggestions to Simon because you have either had a bad experience or cannot be bothered to do it yourself.

goyalyashpal commented 1 year ago

Please direct this request upstream to Simon: anakin[at]pobox[dot]com

@JonnyTech Please do NOT suggest me to post this to upstream to sgtatham. You are welcome to take this initiative on your own.

Please do not ask us to post your suggestions to Simon ...

I am not asking you to do this. I am saying DO NOT suggest me to.

... because you have either had a bad experience or cannot be bothered to do it yourself.

i am bothering enough to figure stuff out, and post them in detailed format here - so that ANYONE, and not JUST simontathem can follow it at will, while you are just sitting ordering people.

Look at yourself, don't lecture me.


also read:

To be fair, Simon is very busy, and gets surely a lot of mail. ...

- @ stbuehler at https://github.com/chrisboyle/sgtpuzzles/issues/596#issuecomment-1485203463

chrisboyle commented 1 year ago

Just to clarify my intentions with this port: I intend this to be a port of the upstream puzzles, with user interface additions to make it easy to play those puzzles on Android. I do not currently plan to add or accept any new puzzles or major gameplay additions just to the Android port, without them first appearing upstream. If the upstream project becomes inactive, then I would rethink that approach, but it's still very much active (Simon committed a couple of days ago).

I also don't plan to put my own development effort into new puzzles / new gameplay additions myself any time soon, because I think my time is better spent improving the Android user-interface and fixing other aspects that truly need to be Android-specific.

I'm aware that Simon upstream doesn't appear to have a public bug tracker, and therefore I have no problem with people using this bug tracker to discuss and coordinate work among themselves that, bearing the above in mind, is destined for upstream initially, whether they're going to submit it themselves or someone else is going to submit it - but please be polite to each other.

goyalyashpal commented 1 year ago

I'm aware that Simon upstream doesn't appear to have a public bug tracker, and therefore I have no problem with people using this bug tracker to discuss and coordinate work

thanks chris for chiming in, i knew from within that you'll be having this stance.

and i was not saying anything to anyone, but ppl here are feeling entitled, like somehow they know things better or have authority of where issues belong.

all this BEFORE my last reply to this issue,

what more can i do to keep things polite.


Citations:

This request should be targeted upstream to Simon: anakin[at]pobox[dot]com JonnyTech 2022.09.22 https://github.com/chrisboyle/sgtpuzzles/issues/564#issuecomment-1245960468

You don't understand ... DAM091 2022.10.07 https://github.com/chrisboyle/sgtpuzzles/issues/564#issuecomment-1271583375

You should submit this upstream, directly to Simon. JonnyTech 2023.03.19 https://github.com/chrisboyle/sgtpuzzles/issues/594#issuecomment-1475223558

Please direct this request upstream to Simon: anakin[at]pobox[dot]com JonnyTech 2023.05.01 https://github.com/chrisboyle/sgtpuzzles/issues/603#issuecomment-1529491834

Please do not ask us to post your suggestions to Simon because you have either had a bad experience or cannot be bothered to do it yourself. JonnyTech 2023.05.01 https://github.com/chrisboyle/sgtpuzzles/issues/603#issuecomment-1529503639


2023.05.02/03: I don't want to create a new comment, so, addressing only the key points in the reply here itself:

I notice that you have edited some of your previous comments which, now that I have noticed them, make my replies seem unjust.

i deleted (but moved it verbatim to a later comment) only one of my previous comment on this matter - as i didn't want this offtopic matter to get mingled with the detailing of main issue at hand.

as for the aplogy, well, its totally ohkay. as long as it doesn't happen again.

JonnyTech commented 1 year ago

@goyalyashpal I sincerely apologise if you consider my remarks rude, it was not intended. I do not look at who posted the issues, just trying to help triage them. I notice that you have edited some of your previous comments which, now that I have noticed them, make my replies seem unjust. I hope that our exchanges have not upset you or discouraged you from posting further, your points are valid, just IMHO not for this port. I shall refrain from replying here further.

JupiLogy commented 1 year ago

I want to discuss the puzzle you're suggesting: a full grid, with N solved cells (and you know N), and the challenge is to alter cells until all cells are correct.

First step in solving would be to determine which cells are correct, by editing cells, and seeing if the number of solved cells goes down (or even better if it goes up!)

Then you have to remember which cells are correct, unless you have a way of marking the cells which you know are correct.

Marking cells known as correct would preferably be automito avoid having to go across the whole grid editing cells arbitrarily to see if they are already correct.

In which case, you start off with a sudoku puzzle with parts that you do know are correct, and parts that you know are not correct. Then you can ignore the not-correct ones and solve as a normal sudoku. So I don't see the appeal of this game type.

Well, you know that much already. But if you turn certains clues off, then you basically have a blank slate. Someone could come up with a solution, but it could be a wrong one. Basically you're asking them to come up with the one solution you want them to come when there could be thousands of possible ones, with no indication of which solution they should be aiming for.

As such I don't think this is a good puzzle to add.

JupiLogy commented 1 year ago

Actually, I do have an idea, where you start with a sudoku grid filled as suggested with no "certains" clues, but any valid solution is accepted. And the challenge is to do that in as few swaps as possible. It would be a bit like the fill puzzle or that one where you have to roll the cube around.

goyalyashpal commented 1 year ago

any valid solution is accepted

good point

And the challenge is to do that in as few swaps as possible.

yep, i was also thinking same with [Constraints: "number of cells changed", and "certainly correct" cells] and [Interface: Show count: "cells changed" (update only once per cell, not one per turn)"]

yeah, my current line of thinking is same - that as of now, it is not constrained meaningfully and sufficiently...

maybe bounding this swaps/change count with some number particular to the generated seed (as against loosely keeping low) can make the constraint more rigid and more tangible?

goyalyashpal commented 1 year ago

also, the correction steps can also be 2 types - corresponding to the error type:

Taking example of shared above pic, only 6 & 8 are bad. So, all others should stay fixed (i think) - but that too, makes it:

goyalyashpal commented 1 year ago

lol, i always say:

key requirement in making most things working is to get the constraints right

too loose, and it doesnt work; too rigid and it looses flexibility

goyalyashpal commented 1 year ago

i will try to gather more samples for such erraneous sudoku puzzles (by trying to be careless at one/two places while solving lol) -

i think only then i (and hopefully others too) would be able to gain some insights on what might be different ways to constraint it, and then pick from there on

i think that blatantly artificial swaps/overwrites can make the brain conscious and the errors may very well be limited in scope. or even result in locked states.

chrisboyle commented 6 months ago

I think this is in the same situation as #596 so I am likewise going to close it