Bug 341543

Summary: Game-end detection occasionally requires me to fill in empty markers
Product: [Applications] picmi Reporter: heikki
Component: generalAssignee: Jakob Linke <jakob>
Status: RESOLVED NOT A BUG    
Severity: minor CC: ped
Priority: NOR    
Version First Reported In: 2.0.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Screenshot demonstrating a solved game that picmi fails to see as solved

Description heikki 2014-12-04 10:05:33 UTC
The manual says that the game is over when all the on-markers are correctly positioned. This makes sense. But occasionally picmi will not consider the game to be solved even when all the on-markers have been placed right. It needs one or two off-markers to be placed too. 

Reproducible: Always




Not a serious issue, the game is playable as well. But a minor irritation.
Comment 1 heikki 2014-12-04 10:12:35 UTC
Created attachment 89828 [details]
Screenshot demonstrating a solved game that picmi fails to see as solved

Attached a screen shot of the simple smiley game, fully solved, but with some off-markers omitted. picmi does not consider this to be done.  Adding two off marks at the single spots is sufficient for picmi to decide that the game is done.
Comment 2 Jakob Linke 2014-12-04 15:25:49 UTC
*** Bug 341542 has been marked as a duplicate of this bug. ***
Comment 3 Jakob Linke 2014-12-06 10:20:28 UTC
I'm aware of this, and I believe there was some reason behind it at development time. Also a duplicate of 331914, but I'll leave this one open since I'd like to take another look at it.
Comment 4 Peter Ped Helcmanovsky 2017-06-23 12:24:14 UTC
From what I have seen, the game needs to consider all rows/columns solved (numbers are shown in "disabled" style). To get that, all the filled squares have to be connected to either end of their row/column, so if some filled piece has in both direction some unset square, it will be not "connected" and considered "correct".

In the screenshot you can either "connect" all filled by marking the both single spots, or by marking one single spot, and the the two-square spot in the middle.
Comment 5 Jakob Linke 2017-06-23 15:56:36 UTC
Wow, a long time has passed since I wanted to take another look. I'll concede that probably won't happen.

Anyway, what I can piece together from memory: the main issue is that there is no ground truth, picmi doesn't take care to generate boards that are uniquely solvable. Since the row/column constraints can be satisfied by possibly multiple board states, the win condition is just that all constraints are satisfied. The constraints, for whatever reason, require X's to detect streaks.

Basically what Peter said :) Working as intended (but happy to accept patches that improve things).