AlexBuz / mindsweeper

A principled take on minesweeper
https://alexbuz.github.io/mindsweeper/
GNU General Public License v3.0
65 stars 2 forks source link

guess-punishment does not account for determinism #7

Closed tjjfvi closed 6 months ago

tjjfvi commented 6 months ago

[side note: I have been greatly enjoying this game.]

I unfortunately failed to grab a screenshot, but earlier when playing I got to the following board state (with "subtract flags" enabled):

-------------------------------
 .. [!] [ ] [ ] [ ] [ ] [!] ..
 .. [!] [!] [!] [1] [!] [!] ..
 .. [ ] [ ] [!] [!] [0] [ ] ..
     :   :   :   :   :   :

The only way for this to be deterministically solvable is if, at some point, one can conclude that there is only 1 bomb in that region, and thus reveal the left-most tile, to determine which of the right three tiles is a bomb.

Knowing this, I concluded that there must only be 1 bomb in that region, and revealed the left-most tile, to find a bomb.

Presumably, the answer-punishment system found a board that had a bomb there, but did not check whether that board could be solved deterministically.

AlexBuz commented 6 months ago

I'm glad you've been enjoying it!

The behavior you've encountered is intentional for now. You should play as if this is regular minesweeper, and do not try to prematurely exploit the no-guessing guarantee. In cases like your example, there will always be another safe move that you can make without the assumption of future determinism. See these replies I made on Reddit discussing this further:

  1. https://www.reddit.com/r/rust/comments/18iq0he/comment/kdhr1hq/?context=1
  2. https://www.reddit.com/r/rust/comments/18iq0he/comment/kdj7bty/?context=3
AlexBuz commented 6 months ago

This behavior is now documented in the options dialog.