GNOME Bugzilla – Bug 407329
aisleriot, spider (one suit), "please fill an empty slot" impossible
Last modified: 2011-12-07 13:37:22 UTC
perhaps this is just a case of poor planning resulting in a loss, but i felt it might be bugworthy http://img45.imageshack.us/img45/5307/outsa0.png
Indeed, there's nothing you can do in that situation. I guess the hinting code could be updated to detect the end of the game, but it doesn't seem worth it to me given that Spider currently weasels out of detecting when a game is unwinnable by falling back on "Try moving card piles around".
I don’t think the game is either won or lost when in this situation, so this is no trivial bug. http://bugs.debian.org/449590 describes the problem more precisely: “When playing Spider One Suit, if I have removed enough cards so that fewer than 10 are left on the board, but there are still cards left to deal from the deck, the game refuses to deal them, saying "Please fill in empty pile first". But it's impossible to fill the empty piles with so few cards, so the game can't proceed.”
You can undo until you have enough cards on the tableau, can't you?
Re-assigning to default owner.
Created attachment 124182 [details] [review] Proposed patch Here is a patch proposal from Eric Cooper. I haven’t tested it yet.
I maintain this is a natural consequence of the well-established rules of Spider, and we shouldn't change them. I haven't tried the patch, but from reading it, it looks like it allows deals if all tableau piles have at least one card (as it is now) OR all tableau piles have no more than one card. I don't think we should make this change.
> I don't think we should make this change. Agreed. If anything, we shouldn't allow moving the completed stack to foundation if that makes it impossible to deal the next round of cards due to too few cards remaining. Or just NOTABUG this report, since you can just use Undo.
Setting patch status based on comment 6 and comment 7.
Committed 6d0c57e0558787389533bbef63f01afec491380a The hint function will now say "Undo until there are enough cards to fill all tableau piles" when you are in this situation.
Committed 3b7980f71b387dc853cf377d3783a745e06ff529 This will change the "Please fill in empty pile first" when it's impossible to do so. That message will also explain that you have to undo.
Anything else we can do to make this more obvious? Is this good enough? Changing the rules to make this move legal is not an option.
*** Bug 591628 has been marked as a duplicate of this bug. ***
Mass-moving only open aisleriot bugs to the new product. Search for "aisleriot-mass-move" to filter them.
IMHO this is good enough. Let's call this one FIXED :-)