| Summary: | Game-end detection occasionally requires me to fill in empty markers | ||
|---|---|---|---|
| Product: | [Applications] picmi | Reporter: | heikki |
| Component: | general | Assignee: | 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
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.
*** Bug 341542 has been marked as a duplicate of this bug. *** 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. 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. 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). |