ShootMe / Klondike-Solver

https://github.com/ShootMe/MinimalKlondike for the updated Solver
MIT License
64 stars 29 forks source link

How solvable is a game + Game integration #12

Open forthrin opened 3 years ago

forthrin commented 3 years ago

Very nice tool that works right out of the box. Some thoughts and suggestions:

For a given game, is it possible to say not only "unsolvable" or "minimum number of moves to solve", but also, since there are many ways to solve a game (with more moves), does each game have some sort of "solvable" factor, ie. how easy it is to solve it in some way (for a human)?

Because when you play the game as a human, you sometimes paint yourself into a corner, and you don't know whether the game is solvable or not, or whether there are many ways to solve it, or if it has very few (potentially hard to come by / non-intuitive) solutions. This would be interesting to know while playing.

I don't know if this would be overly difficult to program, but if there are critical moves during a game that separates the road between solving and a dead end, it would be very interesting, after having failed at a particular game the first time, to have the computer hint at you an important move that will lead you on a high chance to solving the game.

Is there an implementation of solitaire that has both a solver and a game combined, so that you can -- not play against the computer, because that is ludicrous -- but to have the assistance of knowing in advance whether a game can be solved, and to have hints at important crossroads (ie. "If you do this, you'll forfeit all chances of solving the game".)

Well, actually you could play against the computer by having your number of moves measured against the optimal number of moves. This would be very interesting. Just, for the sake of sanity, leave the time-to-solve out of it.

It would even be very nice to compete against a friend on a particular game, on the clock, number of moves, or a combination, but unfortunately this would require a server, as client to client introduces so many problems with dynamic IP addresses and firewalls and what have you.

A multiplayer Solitaire. Now there's a tantalizing oxymoron :)

gmolledaj commented 3 years ago

I think that a game should always have a solution when starting it. The program should "shuffle the cards" as it randomly steps back from the final position to the starting point of the game. It annoys me to play klondike and that there is no solution at least, for example random game number 14523605268561477865. Esperanto (non-discriminatory language). Mi pensas, ke ludo devas ĉiam havi solvon kiam ĝi komenciĝas. La programo devas "miksi la kartojn" dum ĝi hazarde paŝas reen de la fina pozicio al la komenca punkto de la ludo. Ĝenas min ludi klondike kaj ke almenaŭ ne ekzistas solvo, ekzemple en la hazarda ludo numero 14523605268561477865.

geekalert commented 2 years ago

This would be an amazing feature.