Skip to content

add solvable klondike - #591

Open
bwrightkc wants to merge 2 commits into
shlomif:masterfrom
bwrightkc:deal-only-solvable-precomputed-pool
Open

add solvable klondike#591
bwrightkc wants to merge 2 commits into
shlomif:masterfrom
bwrightkc:deal-only-solvable-precomputed-pool

Conversation

@bwrightkc

Copy link
Copy Markdown
Contributor

Add a mode of Klondike that deals only known solvable games. Including 79,000 seeds that are known solvable (used ShootMe's Klondike-Solver). The seeds are not further broken down into difficulty ala Microsoft Solitaire, so it's a mix of difficulties at this time. Working on a "difficulty" level option/game choice in the future for Klondike.

@joeraz

joeraz commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Interesting approach. The challenge with a winnable games only option has always been that we'd need an algorithm to identify if a game is winnable, that works for all games. Or getting winnable seeds for every past, present, and future game. But this could work - at least unless someone comes up with a true winnable algorithm in the future.

I'd have to run some tests, but there are two comments I have so far:

  • There is no game rules documentation page in html-src. Even if it's a simple variant, I do not accept new games without a rules file (can be something as simple as "Like Klondike, but you always get a winnable deal"). If, like you mention in the comments, manually entering a seed could result in a non-winnable deal, this is something that should be mentioned in the documentation, so no users complain.
  • Currently, the pysollib/games folder just contains game definitions. Putting the seeds file there is a bit disorganized. Could you move it to a subfolder? That way, we'd have the architecture set up if we do more games this way in the future.

Sets up a shared spot for precomputed seed pools in case other games
get this treatment later.
@bwrightkc

Copy link
Copy Markdown
Contributor Author

Good points. Rules are in now, and moved the seeds to a solvable_seeds folder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants