shlomif / PySolFC

A comprehensive, feature-rich, open source, and portable, collection of Solitaire games.
http://pysolfc.sourceforge.net/
GNU General Public License v3.0
445 stars 97 forks source link

Archway: Improve overview of the suits #350

Open SimonN opened 8 months ago

SimonN commented 8 months ago

In PySolFC's Archway implementation, the arch piles are dealt at random. The redeal button rotates each arch pile. Thus, regardless of how often you click the redeal button, you'll see a mix of suits among the arch's topmost cards.

This UI makes the following common tasks hard:

  1. Play several same-suited cards from adjacent arch piles.
  2. For a given suit, take inventory of all arch cards of this suit.

About the second point: It's common to examine a suit, scanning all arch piles for their number of cards of that suit (always 0, 1, or 2 identical cards) to plan the play:

Possible solution: The redeal button should know a cyclic ordering of the four suits, e.g., clubs-spades-hearts-diamonds-clubs, like the arrangement of foundation piles. The redeal button should know about the current suit; this is new mutable state of the patience, but hidden. Whenever we click the redeal button:

  1. The current suit advances to the next suit of the cyclic ordering,
  2. Each arch pile sorts topmost all its cards of the new current suit.
  3. Maybe paint the number "2" on/beside each arch pile that has two identical cards on its top? Or instead fan the arch cards, at least the topmost 2.

I'm happy to discuss alternative UI ideas.

This issue arose from the fixed #332 (Archway: Cannot take desired suit from arch) which @joeraz fixed. We agreed to file the UI improvement ideas as this separate bug. These UI improvements aren't as urgent as that play-blocking bug #332.