GNOME Bugzilla – Bug 606105
Union Square has incorrect hint function
Last modified: 2021-06-02 11:38:33 UTC
this report has been filed here: https://bugs.edge.launchpad.net/ubuntu/+source/gnome-games/+bug/470159 "AisleRiot Solitaire - Union Square DOES have hint support and displays hints perfectly fine when asked. When it runs out of hints it says "This game does not have hint support yet.", which is clearly false. It should say something like "No hints available in the current situation." or something to that effect." Thanks,
Confirmed. In game.c: if (!SCM_NFALSEP (hint)) { message = g_strdup (_("This game does not have hint support yet.")); So the game's hint lambda returns something unexpected in this case.
Either that or game-continuable is returning true when it shouldn't. In most cases, game-continuable will use get-hint to decide whether there are valid moves left and return false if not. If get-hint can find all valid moves, that's what we should do.
Unfortunately, I don't think (get-hint) returning #f implies the game is unwinnable. If you have the following configuration in the tableau: * 6H 7H * 5H 6H * 5H You can uncover a slot by moving 7H -> 6H, followed by 6H -> 5H. But I don't think get-hint as it stands will suggest that first move. So I think we need to change the hint function somehow so it can detect that situation, and then we can have get-continuable use get-hint to detect when the game is unwinnable.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/aisleriot/-/issues/128.