You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since the current stuck check logic has some issues, I think we'll need some new, better logic.
Note that the stuck check logic is also used by the demo. The logic needs to avoid creating a situation where the demo's actions will lead to an infinite loop that never triggers the stuck check or wins the game.
I believe it should be based on this general algorithm:
First, check for available hints. If there is ever a hint (unless drawing or dealing from the talon becomes possible as a hint), the game is not stuck, and the check should not trigger.
If there are no available hints, the next step is the talon. If there are no hints and dealing from the talon is not allowed (either there is no talon, or the game rules forbid it at this point), the game is stuck.
Games should be split into two groups - those where dealing from the talon can loop, and those where it cannot. The talon loops if it creates a situation where you can continue redealing from the talon, even if doing so won't do any good (i.e. Klondike or Cruel). This should be identified as part of the talon stack class, as it will shape the last bit of the logic. If the talon cannot loop, the first two rules should be sufficient.
If the talon can loop, we'll need to identify that the talon is looping, and use this logic to trigger a stuck check, but only when actually dealing from the talon. Currently, one of the issues is that this check is being run at the wrong times, causing a false positive.
But logic like this would need extensive testing. Anyone want to help out?
The text was updated successfully, but these errors were encountered:
Since the current stuck check logic has some issues, I think we'll need some new, better logic.
Note that the stuck check logic is also used by the demo. The logic needs to avoid creating a situation where the demo's actions will lead to an infinite loop that never triggers the stuck check or wins the game.
I believe it should be based on this general algorithm:
But logic like this would need extensive testing. Anyone want to help out?
The text was updated successfully, but these errors were encountered: