mirror of
https://github.com/shlomif/PySolFC.git
synced 2025-04-05 00:02:29 -04:00
Additional options and documentation for Solitaire Wizard.
This commit is contained in:
parent
3ea9f7f481
commit
f3661a0aee
13 changed files with 733 additions and 54 deletions
|
@ -61,6 +61,7 @@ files = [
|
|||
('report_bug.html', 'PySol - Report a Bug'),
|
||||
# ('rules_alternate.html', 'PySol - a Solitaire Game Collection'),
|
||||
# ('rules.html', 'PySol - a Solitaire Game Collection'),
|
||||
('solitaire_wizard.html', 'PySol - Solitaire Wizard'),
|
||||
]
|
||||
|
||||
rules_files = [
|
||||
|
|
|
@ -11,11 +11,15 @@
|
|||
<li> <a href="rules.html">Individual Game Rules</a>
|
||||
<li> <a href="rules_alternate.html">Alternate Names</a>
|
||||
</ul>
|
||||
<h2>Features</h2>
|
||||
<ul>
|
||||
<li> <a href="solitaire_wizard.html">Solitaire Wizard</a>
|
||||
</ul>
|
||||
<h2>Misc</h2>
|
||||
<ul>
|
||||
<li> <a href="news.html">What's new?</a>
|
||||
<li> <a href="report_bug.html">Report a Bug</a>
|
||||
<li><a href="license.html">PySol license terms</a>
|
||||
<li> <a href="license.html">PySol license terms</a>
|
||||
</ul>
|
||||
<hr>
|
||||
<p> Visit the official <a href="http://pysolfc.sourceforge.net/">PySolFC Home
|
||||
|
|
95
html-src/solitaire_wizard.html
Normal file
95
html-src/solitaire_wizard.html
Normal file
|
@ -0,0 +1,95 @@
|
|||
<h1>Solitaire Wizard</h1>
|
||||
<p>
|
||||
The Solitaire Wizard is a feature in PySol that allows you to create and play
|
||||
custom solitaire games.
|
||||
<p>
|
||||
Also note that the Solitaire Wizard may not be enabled in mobile versions of
|
||||
PySol.
|
||||
|
||||
Below are the different options you can set when using the Solitaire Wizard:
|
||||
|
||||
<h2>General</h2>
|
||||
<ul>
|
||||
<li><b>Initial Setting</b> - The initial setting automatically configures the
|
||||
Solitaire Wizard options to match one of several sample games.</li>
|
||||
<li><b>Name</b> - This is the name of the game you wish to create.</li>
|
||||
<li><b>Skill Level</b> - Whether the game is more luck or skill. This doesn't
|
||||
affect the actual game, but is used to categorize it in PySol, and to help
|
||||
with sorting.</li>
|
||||
<li><b>Number of Decks</b> - The number of decks used.</li>
|
||||
<li><b>Layout</b> - The physical layout of the card piles. This is purely
|
||||
aesthetic and doesn't affect gameplay.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Talon</h2>
|
||||
<ul>
|
||||
<li><b>Type</b> - This determines when and how cards are dealt from the talon.
|
||||
Cards can be dealt either all at the beginning, to a waste pile, reserves, or
|
||||
foundations, or to the tableau, either in normal style, Spider style (don't allow
|
||||
dealing from the talon if there are empty piles), or Grounds for a Divorce style
|
||||
(do not deal to empty tableau piles).</li>
|
||||
<li><b>Number of Redeals</b> - How many times the player is allowed to redeal.
|
||||
In each redeal, the pile(s) where the cards from the talon are dealt are
|
||||
combined to form a new talon.</li>
|
||||
<li><b># of cards dealt to waste</b> - If dealing cards from the talon to the
|
||||
waste, this indicates how many are dealt at once.</li>
|
||||
<li><b>Shuffle during Redeal</b> - Whether the deck should be shuffled when
|
||||
doing a redeal.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Foundations</h2>
|
||||
<ul>
|
||||
<li><b>Type</b> - This determines what cards can be moved to the foundations.
|
||||
Foundations can be built by same suit, same color, alternate color,
|
||||
any suit but the same, rank regardless of suit, or Spider style
|
||||
(move entire sequences to the foundations once complete).</li>
|
||||
<li><b>Base Card</b> - Which rank is used to start the foundations - either ace
|
||||
or king, or any card.</li>
|
||||
<li><b>Direction</b> - Whether the foundation is built up or down.</li>
|
||||
<li><b>Move</b> - Whether you're allowed to move the top card from a foundation.</li>
|
||||
<li><b>First card sets base cards</b> - If the base card is set to any, this
|
||||
indicates whether all four foundations must start with the same rank - once the
|
||||
first card is moved to the foundations, all other foundations must start from
|
||||
the same base rank.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Tableau</h2>
|
||||
<ul>
|
||||
<li><b>Number of tableau piles</b> - How many tableau piles there are.</li>
|
||||
<li><b>Type</b> - This determines how foundations are built - by same suit,
|
||||
alternate color, same color, rank regardless of suit, any suit but the same,
|
||||
up or down, Spider style (can be built regardless of suit, but only sequences
|
||||
that match the suit option can be moved as a unit), Yukon style (cards can
|
||||
be moved regardless of sequence), or no building on the tableau allowed.</li>
|
||||
<li><b>Base Card</b> - What card can fill an empty tableau pile.</li>
|
||||
<li><b>Direction</b> - Whether the tableau piles are built up or down.</li>
|
||||
<li><b>Move</b> - Whether sequences can be moved together, or cards can only
|
||||
be moved singly.</li>
|
||||
<li><b>Wrapping</b> - Whether wrapping from king to ace or ace to king is
|
||||
allowed.</li>
|
||||
<li><b>Use "Super Move" feature</b> - If sequences normally cannot be moved
|
||||
together, a "Super Move" allows you to move sequences regardless, if there
|
||||
are enough empty stacks/reserves to make the move normally.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Reserves</h2>
|
||||
<ul>
|
||||
<li><b>Number of reserves</b> - How many reserves there are.</li>
|
||||
<li><b>Max # of accepted cards</b> - How many cards you can move to each
|
||||
reserve.</li>
|
||||
|
||||
<h2>Opening deal</h2>
|
||||
<ul>
|
||||
<li><b>Type</b> - How the cards are dealt to the tableau. Rectangular
|
||||
deals have the cards dealt relatively evenly, triangular deals involve
|
||||
each pile getting one more card than the previous, and pyramid deals are
|
||||
similar, but piles after the center one have one fewer than the previous.</li>
|
||||
<li><b># of face-down cards dealt to the tableau pile</b> - How many
|
||||
cards are dealt face-down to each pile. Note that the top card of
|
||||
each tableau pile is always face-up.</li>
|
||||
<li><b># of cards dealt to the reserve</b> - How many cards are dealt
|
||||
face-up to each reserve.</li>
|
||||
<li><b>Max # of dealt cards</b> - How many cards can be dealt from the
|
||||
talon at the start of the game at most.</li>
|
||||
<li><b>Deal first cards to foundations</b> - Whether the first cards are
|
||||
dealt to the foundations at the start of the game.</li>
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: PySol 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-10 10:19-0500\n"
|
||||
"PO-Revision-Date: 2022-09-26 20:59-0400\n"
|
||||
"PO-Revision-Date: 2022-12-30 09:31-0500\n"
|
||||
"Last-Translator: H. Schaekel <Holger.Schaekel@web.de>\n"
|
||||
"Language-Team: German\n"
|
||||
"Language: de\n"
|
||||
|
@ -1223,6 +1223,12 @@ msgstr "Endablage. Aufwärts setzen nach Farbe"
|
|||
msgid "Foundation. Build down by color."
|
||||
msgstr "Endablage. Abwärts setzen nach Farbe."
|
||||
|
||||
msgid "Foundation. Build up in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
msgid "Foundation. Build down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2459 pysollib/games/golf.py:126 pysollib/games/golf.py:322
|
||||
msgid "Tableau. No building."
|
||||
msgstr "Tableau. Keine Erstellung."
|
||||
|
@ -1305,6 +1311,21 @@ msgstr ""
|
|||
"Tableau. Aufgebaut unabhängig von der Farbe. Sequenzen von Karten in der "
|
||||
"gleichen Farbe können als eine Einheit bewegt werden."
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in the same color "
|
||||
"can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in any suit but the "
|
||||
"same can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down regardless of suit. Sequences of cards in any suit but "
|
||||
"the same can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2654
|
||||
msgid ""
|
||||
"Tableau. Build up by alternate color, can move any face-up cards regardless "
|
||||
|
@ -1344,6 +1365,26 @@ msgstr ""
|
|||
"Tableau. Erstellt nach unten nach Farbe. Es kann jede aufgedeckte Karte "
|
||||
"unabhängig der Sequenz bewegt werden."
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by color, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by color, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by any suit but the same, can move any face-up cards "
|
||||
"regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by any suit but the same, can move any face-up cards "
|
||||
"regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2694 pysollib/stack.py:2697
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit, can move any face-up cards regardless "
|
||||
|
@ -1368,6 +1409,9 @@ msgstr "Tableau. Aufbau nach oben oder unten im Rang."
|
|||
msgid "Tableau. Build up or down regardless of suit."
|
||||
msgstr "Tableau. Aufbau nach oben oder unten unabhängig von der Farbe."
|
||||
|
||||
msgid "Tableau. Build up or down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2874
|
||||
msgid "Waste."
|
||||
msgstr "Zwischentalon."
|
||||
|
@ -1698,6 +1742,9 @@ msgstr "Anzahl der Karten in der Zwischentalon :"
|
|||
msgid "Shuffle during redeal:"
|
||||
msgstr "Mischen während Neudecks:"
|
||||
|
||||
msgid "No building"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:176 pysollib/wizardutil.py:184
|
||||
#: pysollib/wizardutil.py:224
|
||||
msgid "Same suit"
|
||||
|
@ -1728,6 +1775,12 @@ msgstr "Spinne alternative Farbe"
|
|||
msgid "Spider rank"
|
||||
msgstr "Spinne Rang"
|
||||
|
||||
msgid "Spider same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Spider any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:191 pysollib/wizardutil.py:249
|
||||
#: pysollib/wizardutil.py:252
|
||||
msgid "Any"
|
||||
|
@ -1747,6 +1800,9 @@ msgstr "Hoch"
|
|||
msgid "Down"
|
||||
msgstr "Unten"
|
||||
|
||||
msgid "Same rank"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:200 pysollib/wizardutil.py:259
|
||||
msgid "Direction:"
|
||||
msgstr "Richtung:"
|
||||
|
@ -1793,6 +1849,9 @@ msgstr "Oben oder unten nach Rang"
|
|||
msgid "Up or down by same color"
|
||||
msgstr "Oben oder unten nach gleicher Farbe"
|
||||
|
||||
msgid "Up or down by any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:238
|
||||
msgid "Yukon same suit"
|
||||
msgstr "Yukon gleiche Farbe"
|
||||
|
@ -1805,6 +1864,12 @@ msgstr "Yukon alternative Farben"
|
|||
msgid "Yukon rank"
|
||||
msgstr "Yukon Rang"
|
||||
|
||||
msgid "Yukon same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Yukon any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:263 pysollib/wizardutil.py:264
|
||||
msgid "Sequence"
|
||||
msgstr "Sequenz"
|
||||
|
@ -1833,6 +1898,9 @@ msgstr "Triangel"
|
|||
msgid "Rectangle"
|
||||
msgstr "Rechteck"
|
||||
|
||||
msgid "Pyramid"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:308
|
||||
msgid "# of face-down cards dealt to the tableau pile:"
|
||||
msgstr "Anzahl verdeckter Karten auf dem Stapel:"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Project-Id-Version: 1.02\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-10 10:19-0500\n"
|
||||
"PO-Revision-Date: 2022-09-26 20:59-0400\n"
|
||||
"PO-Revision-Date: 2022-12-30 09:31-0500\n"
|
||||
"Last-Translator: Eric Rausch <neelix570@gmail.com>\n"
|
||||
"Language-Team: French\n"
|
||||
"Language: fr\n"
|
||||
|
@ -1253,6 +1253,12 @@ msgstr "Fondation. Croissant par couleur."
|
|||
msgid "Foundation. Build down by color."
|
||||
msgstr "Fondation. Décroissant par couleur."
|
||||
|
||||
msgid "Foundation. Build up in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
msgid "Foundation. Build down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2459 pysollib/games/golf.py:126 pysollib/games/golf.py:322
|
||||
msgid "Tableau. No building."
|
||||
msgstr "Tableau. Aucun empilement."
|
||||
|
@ -1335,6 +1341,21 @@ msgstr ""
|
|||
"Tableau. Décroissant indépendamment de l'enseigne. Les ensembles de cartes "
|
||||
"d'une même enseigne peuvent être déplacés entièrement."
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in the same color "
|
||||
"can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in any suit but the "
|
||||
"same can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down regardless of suit. Sequences of cards in any suit but "
|
||||
"the same can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2654
|
||||
msgid ""
|
||||
"Tableau. Build up by alternate color, can move any face-up cards regardless "
|
||||
|
@ -1374,6 +1395,26 @@ msgstr ""
|
|||
"Tableau. Décroissant par enseigne, toutes les cartes ouvertes peuvent être "
|
||||
"déplacées sans former de suite."
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by color, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by color, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by any suit but the same, can move any face-up cards "
|
||||
"regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by any suit but the same, can move any face-up cards "
|
||||
"regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2694 pysollib/stack.py:2697
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit, can move any face-up cards regardless "
|
||||
|
@ -1398,6 +1439,9 @@ msgstr "Tableau. Croissant ou décroissant par enseigne."
|
|||
msgid "Tableau. Build up or down regardless of suit."
|
||||
msgstr "Tableau. Croissant ou décroissant indépendamment de l'enseigne."
|
||||
|
||||
msgid "Tableau. Build up or down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2874
|
||||
msgid "Waste."
|
||||
msgstr "Défausse."
|
||||
|
@ -1728,6 +1772,9 @@ msgstr "Nombre de cartes sur la défausse:"
|
|||
msgid "Shuffle during redeal:"
|
||||
msgstr "Mélanger lors de la donne:"
|
||||
|
||||
msgid "No building"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:176 pysollib/wizardutil.py:184
|
||||
#: pysollib/wizardutil.py:224
|
||||
msgid "Same suit"
|
||||
|
@ -1758,6 +1805,12 @@ msgstr "Spider - Couleur alternée"
|
|||
msgid "Spider rank"
|
||||
msgstr "Spider - Valeur"
|
||||
|
||||
msgid "Spider same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Spider any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:191 pysollib/wizardutil.py:249
|
||||
#: pysollib/wizardutil.py:252
|
||||
msgid "Any"
|
||||
|
@ -1777,6 +1830,9 @@ msgstr "Haut"
|
|||
msgid "Down"
|
||||
msgstr "Bas"
|
||||
|
||||
msgid "Same rank"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:200 pysollib/wizardutil.py:259
|
||||
msgid "Direction:"
|
||||
msgstr "Direction:"
|
||||
|
@ -1823,6 +1879,9 @@ msgstr "Croissant ou décroissant par valeur"
|
|||
msgid "Up or down by same color"
|
||||
msgstr "Croissant ou décroissant par couleur"
|
||||
|
||||
msgid "Up or down by any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:238
|
||||
msgid "Yukon same suit"
|
||||
msgstr "Yukon - Enseigne"
|
||||
|
@ -1835,6 +1894,12 @@ msgstr "Yukon - Couleur alternée"
|
|||
msgid "Yukon rank"
|
||||
msgstr "Yukon - Valeur"
|
||||
|
||||
msgid "Yukon same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Yukon any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:263 pysollib/wizardutil.py:264
|
||||
msgid "Sequence"
|
||||
msgstr "Suite de cartes"
|
||||
|
@ -1863,6 +1928,9 @@ msgstr "Triangle"
|
|||
msgid "Rectangle"
|
||||
msgstr "Rectangle"
|
||||
|
||||
msgid "Pyramid"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:308
|
||||
msgid "# of face-down cards dealt to the tableau pile:"
|
||||
msgstr "# de cartes retournées au tableau:"
|
||||
|
|
|
@ -12,7 +12,7 @@ msgstr ""
|
|||
"Project-Id-Version: it_pysol\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-10 10:19-0500\n"
|
||||
"PO-Revision-Date: 2022-09-26 21:00-0400\n"
|
||||
"PO-Revision-Date: 2022-12-30 09:31-0500\n"
|
||||
"Last-Translator: Giuliano Colla <giuliano.colla@gmail.com>\n"
|
||||
"Language-Team: Italiano <it@li.org>\n"
|
||||
"Language: it\n"
|
||||
|
@ -1261,6 +1261,12 @@ msgstr "Casa. Crescente per colore."
|
|||
msgid "Foundation. Build down by color."
|
||||
msgstr "Casa. Decrescente per colore."
|
||||
|
||||
msgid "Foundation. Build up in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
msgid "Foundation. Build down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2459 pysollib/games/golf.py:126 pysollib/games/golf.py:322
|
||||
msgid "Tableau. No building."
|
||||
msgstr "Tableau. Non accetta carte."
|
||||
|
@ -1343,6 +1349,21 @@ msgstr ""
|
|||
"Tableau. Decrescente indipendentemente dal seme. Sequenze di carte dello "
|
||||
"stesso seme si possono spostare in blocco."
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in the same color "
|
||||
"can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in any suit but the "
|
||||
"same can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down regardless of suit. Sequences of cards in any suit but "
|
||||
"the same can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2654
|
||||
msgid ""
|
||||
"Tableau. Build up by alternate color, can move any face-up cards regardless "
|
||||
|
@ -1382,6 +1403,26 @@ msgstr ""
|
|||
"Tableau. Decrescente per seme, si possono spostare le carte a faccia in su "
|
||||
"indipendentemente dalla sequenza."
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by color, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by color, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by any suit but the same, can move any face-up cards "
|
||||
"regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by any suit but the same, can move any face-up cards "
|
||||
"regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2694 pysollib/stack.py:2697
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit, can move any face-up cards regardless "
|
||||
|
@ -1406,6 +1447,9 @@ msgstr "Tableau. Crescente o decrescente per seme."
|
|||
msgid "Tableau. Build up or down regardless of suit."
|
||||
msgstr "Tableau. Crescente o decrescente indipendentemente dal seme."
|
||||
|
||||
msgid "Tableau. Build up or down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2874
|
||||
msgid "Waste."
|
||||
msgstr "Pozzo."
|
||||
|
@ -1736,6 +1780,9 @@ msgstr "Numero di carte nel pozzo:"
|
|||
msgid "Shuffle during redeal:"
|
||||
msgstr "Mescola nella ridistribuzione:"
|
||||
|
||||
msgid "No building"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:176 pysollib/wizardutil.py:184
|
||||
#: pysollib/wizardutil.py:224
|
||||
msgid "Same suit"
|
||||
|
@ -1766,6 +1813,12 @@ msgstr "Spider alternate color"
|
|||
msgid "Spider rank"
|
||||
msgstr "Spider rank"
|
||||
|
||||
msgid "Spider same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Spider any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:191 pysollib/wizardutil.py:249
|
||||
#: pysollib/wizardutil.py:252
|
||||
msgid "Any"
|
||||
|
@ -1785,6 +1838,9 @@ msgstr "Ascendente"
|
|||
msgid "Down"
|
||||
msgstr "Discendente"
|
||||
|
||||
msgid "Same rank"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:200 pysollib/wizardutil.py:259
|
||||
msgid "Direction:"
|
||||
msgstr "Direzione:"
|
||||
|
@ -1831,6 +1887,9 @@ msgstr "Ascendente o discendente per valore"
|
|||
msgid "Up or down by same color"
|
||||
msgstr "Ascendente o discendente stesso colore"
|
||||
|
||||
msgid "Up or down by any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:238
|
||||
msgid "Yukon same suit"
|
||||
msgstr "Yuokon stesso seme"
|
||||
|
@ -1843,6 +1902,12 @@ msgstr "Yukon colori alterni"
|
|||
msgid "Yukon rank"
|
||||
msgstr "Yukon per valore"
|
||||
|
||||
msgid "Yukon same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Yukon any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:263 pysollib/wizardutil.py:264
|
||||
msgid "Sequence"
|
||||
msgstr "Sequenza"
|
||||
|
@ -1871,6 +1936,9 @@ msgstr "Triangolo"
|
|||
msgid "Rectangle"
|
||||
msgstr "Rettangolo"
|
||||
|
||||
msgid "Pyramid"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:308
|
||||
msgid "# of face-down cards dealt to the tableau pile:"
|
||||
msgstr "Numero di carte coperte nel tableau:"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-10 10:19-0500\n"
|
||||
"PO-Revision-Date: 2022-09-26 21:00-0400\n"
|
||||
"PO-Revision-Date: 2022-12-30 09:32-0500\n"
|
||||
"Last-Translator: Jerzy Trzeciak <artusek@wp.pl>\n"
|
||||
"Language-Team: Polish <pl@li.org>\n"
|
||||
"Language: pl\n"
|
||||
|
@ -1257,6 +1257,12 @@ msgstr "Stos bazowy. Układaj w górę wg barwy."
|
|||
msgid "Foundation. Build down by color."
|
||||
msgstr "Stos bazowy. Układaj w dół wg barwy."
|
||||
|
||||
msgid "Foundation. Build up in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
msgid "Foundation. Build down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2459 pysollib/games/golf.py:126 pysollib/games/golf.py:322
|
||||
msgid "Tableau. No building."
|
||||
msgstr "Stół gry. Nie układaj."
|
||||
|
@ -1339,6 +1345,21 @@ msgstr ""
|
|||
"Stół gry. Układaj w dół niezależnie od koloru. Sekwens kart tego samego "
|
||||
"koloru można przenieść jako całość."
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in the same color "
|
||||
"can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in any suit but the "
|
||||
"same can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down regardless of suit. Sequences of cards in any suit but "
|
||||
"the same can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2654
|
||||
msgid ""
|
||||
"Tableau. Build up by alternate color, can move any face-up cards regardless "
|
||||
|
@ -1378,6 +1399,26 @@ msgstr ""
|
|||
"Stół gry. Układaj w dół wg koloru. Można przenosić odkryte karty niezależnie "
|
||||
"od sekwensu."
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by color, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by color, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by any suit but the same, can move any face-up cards "
|
||||
"regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by any suit but the same, can move any face-up cards "
|
||||
"regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2694 pysollib/stack.py:2697
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit, can move any face-up cards regardless "
|
||||
|
@ -1402,6 +1443,9 @@ msgstr "Stół gry. Układaj w górę lub w dół wg koloru."
|
|||
msgid "Tableau. Build up or down regardless of suit."
|
||||
msgstr "Stół gry. Ukladaj w górę lub w dół niezależnie od koloru."
|
||||
|
||||
msgid "Tableau. Build up or down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2874
|
||||
msgid "Waste."
|
||||
msgstr "Zrzut."
|
||||
|
@ -1732,6 +1776,9 @@ msgstr "Liczba kart przełożonych do zrzutu:"
|
|||
msgid "Shuffle during redeal:"
|
||||
msgstr "Przetasuj przy ponownym rozdaniu:"
|
||||
|
||||
msgid "No building"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:176 pysollib/wizardutil.py:184
|
||||
#: pysollib/wizardutil.py:224
|
||||
msgid "Same suit"
|
||||
|
@ -1763,6 +1810,12 @@ msgstr "Pająk kolory naprzemiennie"
|
|||
msgid "Spider rank"
|
||||
msgstr "Pająk wartość"
|
||||
|
||||
msgid "Spider same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Spider any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:191 pysollib/wizardutil.py:249
|
||||
#: pysollib/wizardutil.py:252
|
||||
msgid "Any"
|
||||
|
@ -1782,6 +1835,9 @@ msgstr "W górę"
|
|||
msgid "Down"
|
||||
msgstr "W dół"
|
||||
|
||||
msgid "Same rank"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:200 pysollib/wizardutil.py:259
|
||||
msgid "Direction:"
|
||||
msgstr "Kierunek:"
|
||||
|
@ -1828,6 +1884,9 @@ msgstr "W górę lub w dół wg wartości"
|
|||
msgid "Up or down by same color"
|
||||
msgstr "W górę lub w dół ta sama barwa"
|
||||
|
||||
msgid "Up or down by any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:238
|
||||
msgid "Yukon same suit"
|
||||
msgstr "Yukon jeden kolor"
|
||||
|
@ -1841,6 +1900,12 @@ msgstr "Yukon barwy naprzemiennie"
|
|||
msgid "Yukon rank"
|
||||
msgstr "Yukon rank"
|
||||
|
||||
msgid "Yukon same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Yukon any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:263 pysollib/wizardutil.py:264
|
||||
msgid "Sequence"
|
||||
msgstr "Sekwens"
|
||||
|
@ -1869,6 +1934,9 @@ msgstr "Trójkąt"
|
|||
msgid "Rectangle"
|
||||
msgstr "Prostokąt"
|
||||
|
||||
msgid "Pyramid"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:308
|
||||
msgid "# of face-down cards dealt to the tableau pile:"
|
||||
msgstr "Liczba kart zakrytych rozłożonych na stół gry:"
|
||||
|
|
66
po/pysol.pot
66
po/pysol.pot
|
@ -1167,6 +1167,12 @@ msgstr ""
|
|||
msgid "Foundation. Build down by color."
|
||||
msgstr ""
|
||||
|
||||
msgid "Foundation. Build up in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
msgid "Foundation. Build down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2459 pysollib/games/golf.py:126 pysollib/games/golf.py:322
|
||||
msgid "Tableau. No building."
|
||||
msgstr ""
|
||||
|
@ -1241,6 +1247,21 @@ msgid ""
|
|||
"can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in the same color "
|
||||
"can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in any suit but the same "
|
||||
"can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down regardless of suit. Sequences of cards in any suit but the same "
|
||||
"can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2654
|
||||
msgid ""
|
||||
"Tableau. Build up by alternate color, can move any face-up cards regardless "
|
||||
|
@ -1270,6 +1291,24 @@ msgid ""
|
|||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by color, can move any face-up cards regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by color, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by any suit but the same, can move any face-up cards regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by any suit but the same, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2694 pysollib/stack.py:2697
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit, can move any face-up cards regardless "
|
||||
|
@ -1292,6 +1331,9 @@ msgstr ""
|
|||
msgid "Tableau. Build up or down regardless of suit."
|
||||
msgstr ""
|
||||
|
||||
msgid "Tableau. Build up or down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2874
|
||||
msgid "Waste."
|
||||
msgstr ""
|
||||
|
@ -1622,6 +1664,9 @@ msgstr ""
|
|||
msgid "Shuffle during redeal:"
|
||||
msgstr ""
|
||||
|
||||
msgid "No building"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:176 pysollib/wizardutil.py:184
|
||||
#: pysollib/wizardutil.py:224
|
||||
msgid "Same suit"
|
||||
|
@ -1652,6 +1697,12 @@ msgstr ""
|
|||
msgid "Spider rank"
|
||||
msgstr ""
|
||||
|
||||
msgid "Spider same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Spider any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:191 pysollib/wizardutil.py:249
|
||||
#: pysollib/wizardutil.py:252
|
||||
msgid "Any"
|
||||
|
@ -1671,6 +1722,9 @@ msgstr ""
|
|||
msgid "Down"
|
||||
msgstr ""
|
||||
|
||||
msgid "Same rank"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:200 pysollib/wizardutil.py:259
|
||||
msgid "Direction:"
|
||||
msgstr ""
|
||||
|
@ -1717,6 +1771,9 @@ msgstr ""
|
|||
msgid "Up or down by same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Up or down by any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:238
|
||||
msgid "Yukon same suit"
|
||||
msgstr ""
|
||||
|
@ -1729,6 +1786,12 @@ msgstr ""
|
|||
msgid "Yukon rank"
|
||||
msgstr ""
|
||||
|
||||
msgid "Yukon same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Yukon any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:263 pysollib/wizardutil.py:264
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
@ -1757,6 +1820,9 @@ msgstr ""
|
|||
msgid "Rectangle"
|
||||
msgstr ""
|
||||
|
||||
msgid "Pyramid"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:308
|
||||
msgid "# of face-down cards dealt to the tableau pile:"
|
||||
msgstr ""
|
||||
|
|
|
@ -7,7 +7,7 @@ msgstr ""
|
|||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-10 10:19-0500\n"
|
||||
"PO-Revision-Date: 2022-09-26 21:00-0400\n"
|
||||
"PO-Revision-Date: 2022-12-30 09:32-0500\n"
|
||||
"Last-Translator: Skomoroh <skomoroh@gmail.com>\n"
|
||||
"Language-Team: Russian <ru@li.org>\n"
|
||||
"Language: ru\n"
|
||||
|
@ -1250,6 +1250,12 @@ msgstr "Базовая ячейка. Складывать по возраста
|
|||
msgid "Foundation. Build down by color."
|
||||
msgstr "Базовая ячейка. Складывать по убыванию в соответствии с цветом."
|
||||
|
||||
msgid "Foundation. Build up in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
msgid "Foundation. Build down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2459 pysollib/games/golf.py:126 pysollib/games/golf.py:322
|
||||
msgid "Tableau. No building."
|
||||
msgstr "Игровой стол. Без выкладывания."
|
||||
|
@ -1332,6 +1338,21 @@ msgstr ""
|
|||
"Игровой стол. Складывать по убыванию не считаясь с мастью. Можно перемещать "
|
||||
"серии карт одинаковой масти."
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in the same color "
|
||||
"can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit. Sequences of cards in any suit but the "
|
||||
"same can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down regardless of suit. Sequences of cards in any suit but "
|
||||
"the same can be moved as a unit."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2654
|
||||
msgid ""
|
||||
"Tableau. Build up by alternate color, can move any face-up cards regardless "
|
||||
|
@ -1371,6 +1392,26 @@ msgstr ""
|
|||
"Игровой стол. Складывать по убыванию в соответствии с мастью, можно "
|
||||
"перемещать любую серию открытых карт."
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by color, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by color, can move any face-up cards regardless of "
|
||||
"sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build up by any suit but the same, can move any face-up cards "
|
||||
"regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Tableau. Build down by any suit but the same, can move any face-up cards "
|
||||
"regardless of sequence."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2694 pysollib/stack.py:2697
|
||||
msgid ""
|
||||
"Tableau. Build up regardless of suit, can move any face-up cards regardless "
|
||||
|
@ -1398,6 +1439,9 @@ msgid "Tableau. Build up or down regardless of suit."
|
|||
msgstr ""
|
||||
"Игровой стол. Складывать по возрастанию или убыванию не считаясь с мастью."
|
||||
|
||||
msgid "Tableau. Build up or down in any suit but the same."
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/stack.py:2874
|
||||
msgid "Waste."
|
||||
msgstr "Сброс."
|
||||
|
@ -1728,6 +1772,9 @@ msgstr "Кол-во карт сдающихся на сброс:"
|
|||
msgid "Shuffle during redeal:"
|
||||
msgstr "Тасовать при пересдаче:"
|
||||
|
||||
msgid "No building"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:176 pysollib/wizardutil.py:184
|
||||
#: pysollib/wizardutil.py:224
|
||||
msgid "Same suit"
|
||||
|
@ -1758,6 +1805,12 @@ msgstr "Паук чередуя цвет"
|
|||
msgid "Spider rank"
|
||||
msgstr "Паук в соответствии с достоинством"
|
||||
|
||||
msgid "Spider same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Spider any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:191 pysollib/wizardutil.py:249
|
||||
#: pysollib/wizardutil.py:252
|
||||
msgid "Any"
|
||||
|
@ -1777,6 +1830,9 @@ msgstr "Вверх"
|
|||
msgid "Down"
|
||||
msgstr "Вниз"
|
||||
|
||||
msgid "Same rank"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:200 pysollib/wizardutil.py:259
|
||||
msgid "Direction:"
|
||||
msgstr "Направление:"
|
||||
|
@ -1823,6 +1879,9 @@ msgstr "По возрастанию или убыванию в соответс
|
|||
msgid "Up or down by same color"
|
||||
msgstr "По возрастанию или убыванию в соответствии с цветом"
|
||||
|
||||
msgid "Up or down by any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:238
|
||||
msgid "Yukon same suit"
|
||||
msgstr "Юкон в соответствии с мастью"
|
||||
|
@ -1835,6 +1894,12 @@ msgstr "Юкон чередуя цвет"
|
|||
msgid "Yukon rank"
|
||||
msgstr "Юкон в соответствии с достоинством"
|
||||
|
||||
msgid "Yukon same color"
|
||||
msgstr ""
|
||||
|
||||
msgid "Yukon any suit but the same"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:263 pysollib/wizardutil.py:264
|
||||
msgid "Sequence"
|
||||
msgstr "Последовательность"
|
||||
|
@ -1863,6 +1928,9 @@ msgstr "Треугольник"
|
|||
msgid "Rectangle"
|
||||
msgstr "Прямоугольник"
|
||||
|
||||
msgid "Pyramid"
|
||||
msgstr ""
|
||||
|
||||
#: pysollib/wizardutil.py:308
|
||||
msgid "# of face-down cards dealt to the tableau pile:"
|
||||
msgstr "Кол-во закрытых карт сдающихся на ячейку игрового стола:"
|
||||
|
|
|
@ -40,7 +40,11 @@ from pysollib.stack import \
|
|||
SpiderTalonStack, \
|
||||
Spider_AC_Foundation, \
|
||||
Spider_AC_RowStack, \
|
||||
Spider_BO_Foundation, \
|
||||
Spider_BO_RowStack, \
|
||||
Spider_RK_Foundation, \
|
||||
Spider_SC_Foundation, \
|
||||
Spider_SC_RowStack, \
|
||||
Spider_SS_Foundation, \
|
||||
Spider_SS_RowStack, \
|
||||
StackWrapper, \
|
||||
|
@ -50,13 +54,16 @@ from pysollib.stack import \
|
|||
SuperMoveSC_RowStack, \
|
||||
SuperMoveSS_RowStack, \
|
||||
UD_AC_RowStack, \
|
||||
UD_BO_RowStack, \
|
||||
UD_RK_RowStack, \
|
||||
UD_SC_RowStack, \
|
||||
UD_SS_RowStack, \
|
||||
WasteStack, \
|
||||
WasteTalonStack, \
|
||||
Yukon_AC_RowStack, \
|
||||
Yukon_BO_RowStack, \
|
||||
Yukon_RK_RowStack, \
|
||||
Yukon_SC_RowStack, \
|
||||
Yukon_SS_RowStack
|
||||
from pysollib.util import ACE, ANY_RANK, ANY_SUIT, \
|
||||
KING, \
|
||||
|
@ -101,17 +108,23 @@ class CustomGame(Game):
|
|||
# max_move
|
||||
if s['found_type'] not in (Spider_SS_Foundation,
|
||||
Spider_AC_Foundation,
|
||||
Spider_RK_Foundation,):
|
||||
Spider_RK_Foundation,
|
||||
Spider_SC_Foundation,
|
||||
Spider_BO_Foundation,):
|
||||
kw['max_move'] = s['found_max_move']
|
||||
# suit
|
||||
if s['found_type'] in (Spider_SS_Foundation,
|
||||
Spider_AC_Foundation,
|
||||
Spider_RK_Foundation,):
|
||||
Spider_RK_Foundation,
|
||||
Spider_SC_Foundation,
|
||||
Spider_BO_Foundation,):
|
||||
kw['suit'] = ANY_SUIT
|
||||
# fix dir and base_rank for Spider foundations
|
||||
if s['found_type'] in (Spider_SS_Foundation,
|
||||
Spider_AC_Foundation,
|
||||
Spider_RK_Foundation,):
|
||||
Spider_RK_Foundation,
|
||||
Spider_SC_Foundation,
|
||||
Spider_BO_Foundation,):
|
||||
kw['dir'] = -kw['dir']
|
||||
if s['found_base_card'] == KING:
|
||||
kw['base_rank'] = ACE
|
||||
|
@ -138,7 +151,8 @@ class CustomGame(Game):
|
|||
if s['rows_wrap']:
|
||||
kw['mod'] = 13
|
||||
if s['rows_type'] in (UD_SS_RowStack, UD_AC_RowStack,
|
||||
UD_RK_RowStack, UD_SC_RowStack):
|
||||
UD_RK_RowStack, UD_SC_RowStack,
|
||||
UD_BO_RowStack):
|
||||
kw['max_move'] = 1
|
||||
# Super Move
|
||||
if s['rows_super_move'] and kw['max_move'] == 1:
|
||||
|
@ -205,7 +219,8 @@ class CustomGame(Game):
|
|||
|
||||
# shallHighlightMatch
|
||||
for c, f in (
|
||||
((Spider_AC_RowStack, Spider_SS_RowStack),
|
||||
((Spider_AC_RowStack, Spider_SS_RowStack,
|
||||
Spider_SC_RowStack, Spider_BO_RowStack),
|
||||
(self._shallHighlightMatch_RK,
|
||||
self._shallHighlightMatch_RKW)),
|
||||
((AC_RowStack, UD_AC_RowStack,
|
||||
|
@ -220,10 +235,12 @@ class CustomGame(Game):
|
|||
Yukon_RK_RowStack, SuperMoveRK_RowStack),
|
||||
(self._shallHighlightMatch_RK,
|
||||
self._shallHighlightMatch_RKW)),
|
||||
((SC_RowStack, UD_SC_RowStack, SuperMoveSC_RowStack),
|
||||
((SC_RowStack, UD_SC_RowStack,
|
||||
Yukon_SC_RowStack, SuperMoveSC_RowStack),
|
||||
(self._shallHighlightMatch_SC,
|
||||
self._shallHighlightMatch_SCW)),
|
||||
((BO_RowStack, SuperMoveBO_RowStack),
|
||||
((BO_RowStack, UD_BO_RowStack,
|
||||
Yukon_SC_RowStack, SuperMoveBO_RowStack),
|
||||
(self._shallHighlightMatch_BO,
|
||||
self._shallHighlightMatch_BOW)),
|
||||
):
|
||||
|
@ -236,13 +253,17 @@ class CustomGame(Game):
|
|||
|
||||
# getQuickPlayScore
|
||||
if s['rows_type'] in (Spider_AC_RowStack,
|
||||
Spider_SS_RowStack,):
|
||||
Spider_SS_RowStack,
|
||||
Spider_BO_RowStack,
|
||||
Spider_SC_RowStack,):
|
||||
self.getQuickPlayScore = self._getSpiderQuickPlayScore
|
||||
|
||||
# canDropCards
|
||||
if s['found_type'] in (Spider_SS_Foundation,
|
||||
Spider_AC_Foundation,
|
||||
Spider_RK_Foundation,):
|
||||
Spider_RK_Foundation,
|
||||
Spider_SC_Foundation,
|
||||
Spider_BO_Foundation,):
|
||||
for stack in self.s.rows:
|
||||
stack.canDropCards = stack.spiderCanDropCards
|
||||
|
||||
|
@ -261,7 +282,9 @@ class CustomGame(Game):
|
|||
# TODO
|
||||
if s['rows_type'] in (Yukon_SS_RowStack,
|
||||
Yukon_AC_RowStack,
|
||||
Yukon_RK_RowStack):
|
||||
Yukon_RK_RowStack,
|
||||
Yukon_SC_RowStack,
|
||||
Yukon_BO_RowStack,):
|
||||
self.Hint_Class = Yukon_Hint
|
||||
|
||||
def _shuffleHook(self, cards):
|
||||
|
@ -270,7 +293,9 @@ class CustomGame(Game):
|
|||
return cards
|
||||
if s['found_type'] in (Spider_SS_Foundation,
|
||||
Spider_AC_Foundation,
|
||||
Spider_RK_Foundation,):
|
||||
Spider_RK_Foundation,
|
||||
Spider_SC_Foundation,
|
||||
Spider_BO_Foundation,):
|
||||
return cards
|
||||
base_card = s['found_base_card']
|
||||
if base_card == ANY_RANK:
|
||||
|
@ -334,7 +359,17 @@ class CustomGame(Game):
|
|||
flip, frames, max_cards)
|
||||
face_down -= 1
|
||||
max_rows -= 1
|
||||
|
||||
elif s['deal_type'] == 'pyramid':
|
||||
# pyramid
|
||||
for i in range(1, len(self.s.rows)):
|
||||
if max_rows <= 1:
|
||||
break
|
||||
flip = (face_down <= 0)
|
||||
mc = max_cards - len(self.s.rows)
|
||||
frames, max_cards = deal(self.s.rows[i:min(i+mc, -i)],
|
||||
flip, frames, max_cards)
|
||||
face_down -= 1
|
||||
max_rows -= 1
|
||||
else:
|
||||
# rectangle
|
||||
for i in range(max_rows-1):
|
||||
|
|
|
@ -29,7 +29,6 @@ from pysollib.hint import FreeCellSolverWrapper
|
|||
from pysollib.hint import SpiderType_Hint, YukonType_Hint
|
||||
from pysollib.layout import Layout
|
||||
from pysollib.mfxutil import kwdefault
|
||||
from pysollib.mygettext import _
|
||||
from pysollib.stack import \
|
||||
AC_FoundationStack, \
|
||||
AC_RowStack, \
|
||||
|
@ -46,6 +45,7 @@ from pysollib.stack import \
|
|||
SS_RowStack, \
|
||||
Spider_AC_Foundation, \
|
||||
Spider_AC_RowStack, \
|
||||
Spider_SC_RowStack, \
|
||||
Spider_SS_Foundation, \
|
||||
Spider_SS_RowStack, \
|
||||
StackWrapper, \
|
||||
|
@ -1141,20 +1141,8 @@ class ScorpionII(Scorpion):
|
|||
# * Tarantula
|
||||
# ************************************************************************
|
||||
|
||||
class Tarantula_RowStack(Spider_RowStack):
|
||||
def _isSequence(self, cards):
|
||||
return isSameColorSequence(cards, self.cap.mod, self.cap.dir)
|
||||
|
||||
def _isAcceptableSequence(self, cards):
|
||||
return isRankSequence(cards, self.cap.mod, self.cap.dir)
|
||||
|
||||
def getHelp(self):
|
||||
return _('Tableau. Build down regardless of suit. Sequences of cards '
|
||||
'in the same color can be moved as a unit.')
|
||||
|
||||
|
||||
class Tarantula(Spider):
|
||||
RowStack_Class = Tarantula_RowStack
|
||||
RowStack_Class = Spider_SC_RowStack
|
||||
|
||||
def getQuickPlayScore(self, ncards, from_stack, to_stack):
|
||||
if to_stack.cards:
|
||||
|
|
|
@ -2411,6 +2411,31 @@ class SC_FoundationStack(SS_FoundationStack):
|
|||
return _('Foundation. Build by same rank.')
|
||||
|
||||
|
||||
# A ButOwn_FoundationStack builds up in rank and any suit but the same.
|
||||
# It is used in only a few games.
|
||||
class BO_FoundationStack(SS_FoundationStack):
|
||||
def __init__(self, x, y, game, suit, **cap):
|
||||
kwdefault(cap, base_suit=suit)
|
||||
SS_FoundationStack.__init__(self, x, y, game, ANY_SUIT, **cap)
|
||||
|
||||
def acceptsCards(self, from_stack, cards):
|
||||
if not SS_FoundationStack.acceptsCards(self, from_stack, cards):
|
||||
return False
|
||||
if self.cards:
|
||||
# check the suit
|
||||
if cards[0].suit == self.cards[-1].suit:
|
||||
return False
|
||||
return True
|
||||
|
||||
def getHelp(self):
|
||||
if self.cap.dir > 0:
|
||||
return _('Foundation. Build up in any suit but the same.')
|
||||
elif self.cap.dir < 0:
|
||||
return _('Foundation. Build down in any suit but the same.')
|
||||
else:
|
||||
return _('Foundation. Build by same rank.')
|
||||
|
||||
|
||||
# Spider-type foundations
|
||||
class Spider_SS_Foundation(AbstractFoundationStack):
|
||||
def __init__(self, x, y, game, suit=ANY_SUIT, **cap):
|
||||
|
@ -2433,6 +2458,14 @@ class Spider_AC_Foundation(Spider_SS_Foundation):
|
|||
return isAlternateColorSequence(cards, self.cap.mod, self.cap.dir)
|
||||
|
||||
|
||||
class Spider_SC_Foundation(Spider_SS_Foundation):
|
||||
def acceptsCards(self, from_stack, cards):
|
||||
if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
|
||||
return False
|
||||
# now check the cards
|
||||
return isSameColorSequence(cards, self.cap.mod, self.cap.dir)
|
||||
|
||||
|
||||
class Spider_RK_Foundation(Spider_SS_Foundation):
|
||||
def acceptsCards(self, from_stack, cards):
|
||||
if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
|
||||
|
@ -2441,6 +2474,13 @@ class Spider_RK_Foundation(Spider_SS_Foundation):
|
|||
return isRankSequence(cards, self.cap.mod, self.cap.dir)
|
||||
|
||||
|
||||
class Spider_BO_Foundation(Spider_SS_Foundation):
|
||||
def acceptsCards(self, from_stack, cards):
|
||||
if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
|
||||
return False
|
||||
# now check the cards
|
||||
return isAnySuitButOwnSequence(cards, self.cap.mod, self.cap.dir)
|
||||
|
||||
# ************************************************************************
|
||||
# * Abstract classes for row stacks.
|
||||
# ************************************************************************
|
||||
|
@ -2657,6 +2697,44 @@ class Spider_SS_RowStack(SS_RowStack):
|
|||
return _('Tableau. Build by same rank.')
|
||||
|
||||
|
||||
# A Spider_SameColor_RowStack builds down by rank and color,
|
||||
# but accepts sequences that match by rank only.
|
||||
class Spider_SC_RowStack(SC_RowStack):
|
||||
def _isAcceptableSequence(self, cards):
|
||||
return isRankSequence(cards, self.cap.mod, self.cap.dir)
|
||||
|
||||
def getHelp(self):
|
||||
if self.cap.dir > 0:
|
||||
return _('Tableau. Build up regardless of suit. '
|
||||
'Sequences of cards in the same color can be moved '
|
||||
'as a unit.')
|
||||
elif self.cap.dir < 0:
|
||||
return _('Tableau. Build down regardless of suit. '
|
||||
'Sequences of cards in the same color can be moved '
|
||||
'as a unit.')
|
||||
else:
|
||||
return _('Tableau. Build by same rank.')
|
||||
|
||||
|
||||
# A Spider_ButOwn_RowStack builds down by rank and any suit but own,
|
||||
# but accepts sequences that match by rank only.
|
||||
class Spider_BO_RowStack(BO_RowStack):
|
||||
def _isAcceptableSequence(self, cards):
|
||||
return isRankSequence(cards, self.cap.mod, self.cap.dir)
|
||||
|
||||
def getHelp(self):
|
||||
if self.cap.dir > 0:
|
||||
return _('Tableau. Build up regardless of suit. '
|
||||
'Sequences of cards in any suit but the same '
|
||||
'can be moved as a unit.')
|
||||
elif self.cap.dir < 0:
|
||||
return _('Tableau. Build down regardless of suit. '
|
||||
'Sequences of cards in any suit but the same '
|
||||
'can be moved as a unit.')
|
||||
else:
|
||||
return _('Tableau. Build by same rank.')
|
||||
|
||||
|
||||
# A Yukon_AlternateColor_RowStack builds down by rank and alternate color,
|
||||
# but can move any face-up cards regardless of sequence.
|
||||
class Yukon_AC_RowStack(BasicRowStack):
|
||||
|
@ -2712,6 +2790,25 @@ class Yukon_SS_RowStack(Yukon_AC_RowStack):
|
|||
'face-up cards regardless of sequence.')
|
||||
|
||||
|
||||
# A Yukon_SameColor_RowStack builds down by rank and color,
|
||||
# but can move any face-up cards regardless of sequence.
|
||||
class Yukon_SC_RowStack(Yukon_AC_RowStack):
|
||||
def _isYukonSequence(self, c1, c2):
|
||||
return ((c1.rank + self.cap.dir) % self.cap.mod == c2.rank and
|
||||
c1.color == c2.color)
|
||||
|
||||
def getHelp(self):
|
||||
if self.cap.dir > 0:
|
||||
return _('Tableau. Build up by color, can move any face-up cards '
|
||||
'regardless of sequence.')
|
||||
elif self.cap.dir < 0:
|
||||
return _('Tableau. Build down by color, can move any '
|
||||
'face-up cards regardless of sequence.')
|
||||
else:
|
||||
return _('Tableau. Build by same rank, can move any '
|
||||
'face-up cards regardless of sequence.')
|
||||
|
||||
|
||||
# A Yukon_Rank_RowStack builds down by rank
|
||||
# but can move any face-up cards regardless of sequence.
|
||||
class Yukon_RK_RowStack(Yukon_AC_RowStack):
|
||||
|
@ -2729,6 +2826,25 @@ class Yukon_RK_RowStack(Yukon_AC_RowStack):
|
|||
return _('Tableau. Build by same rank, can move any '
|
||||
'face-up cards regardless of sequence.')
|
||||
|
||||
|
||||
# A Yukon_ButOwn_RowStack builds down by rank and suit,
|
||||
# but can move any face-up cards regardless of sequence.
|
||||
class Yukon_BO_RowStack(Yukon_AC_RowStack):
|
||||
def _isYukonSequence(self, c1, c2):
|
||||
return ((c1.rank + self.cap.dir) % self.cap.mod == c2.rank and
|
||||
c1.suit != c2.suit)
|
||||
|
||||
def getHelp(self):
|
||||
if self.cap.dir > 0:
|
||||
return _('Tableau. Build up by any suit but the same, '
|
||||
'can move any face-up cards regardless of sequence.')
|
||||
elif self.cap.dir < 0:
|
||||
return _('Tableau. Build down by any suit but the same, '
|
||||
'can move any face-up cards regardless of sequence.')
|
||||
else:
|
||||
return _('Tableau. Build by same rank, can move any '
|
||||
'face-up cards regardless of sequence.')
|
||||
|
||||
#
|
||||
# King-versions of some of the above stacks: they accepts only Kings or
|
||||
# sequences starting with a King as base_rank cards (i.e. when empty).
|
||||
|
@ -2809,6 +2925,20 @@ class UD_RK_RowStack(SequenceRowStack):
|
|||
return _('Tableau. Build up or down regardless of suit.')
|
||||
|
||||
|
||||
# up or down by rank ignoring suit
|
||||
class UD_BO_RowStack(SequenceRowStack):
|
||||
def __init__(self, x, y, game, **cap):
|
||||
kwdefault(cap, max_move=1, max_accept=1)
|
||||
SequenceRowStack.__init__(self, x, y, game, **cap)
|
||||
|
||||
def _isSequence(self, cards):
|
||||
return (isAnySuitButOwnSequence(cards, self.cap.mod, 1) or
|
||||
isAnySuitButOwnSequence(cards, self.cap.mod, -1))
|
||||
|
||||
def getHelp(self):
|
||||
return _('Tableau. Build up or down in any suit but the same.')
|
||||
|
||||
|
||||
# To simplify playing we also consider the number of free rows.
|
||||
# See also the "SuperMove" section in the FreeCell FAQ.
|
||||
class SuperMoveStack_StackMethods:
|
||||
|
|
|
@ -28,6 +28,8 @@ from pysollib.layout import Layout
|
|||
from pysollib.mygettext import _, n_
|
||||
from pysollib.stack import AC_FoundationStack, \
|
||||
AC_RowStack, \
|
||||
BasicRowStack, \
|
||||
BO_FoundationStack, \
|
||||
BO_RowStack, \
|
||||
DealReserveRedealTalonStack, \
|
||||
DealRowRedealTalonStack, \
|
||||
|
@ -42,16 +44,23 @@ from pysollib.stack import AC_FoundationStack, \
|
|||
SpiderTalonStack, \
|
||||
Spider_AC_Foundation, \
|
||||
Spider_AC_RowStack, \
|
||||
Spider_BO_Foundation, \
|
||||
Spider_BO_RowStack, \
|
||||
Spider_RK_Foundation, \
|
||||
Spider_SC_Foundation, \
|
||||
Spider_SC_RowStack, \
|
||||
Spider_SS_Foundation, \
|
||||
Spider_SS_RowStack, \
|
||||
UD_AC_RowStack, \
|
||||
UD_BO_RowStack, \
|
||||
UD_RK_RowStack, \
|
||||
UD_SC_RowStack, \
|
||||
UD_SS_RowStack, \
|
||||
WasteTalonStack, \
|
||||
Yukon_AC_RowStack, \
|
||||
Yukon_BO_RowStack, \
|
||||
Yukon_RK_RowStack, \
|
||||
Yukon_SC_RowStack, \
|
||||
Yukon_SS_RowStack
|
||||
from pysollib.util import ACE, ANY_RANK, KING, NO_RANK, UNLIMITED_MOVES
|
||||
from pysollib.wizardpresets import presets
|
||||
|
@ -173,13 +182,16 @@ TalonShuffle = WizSetting(
|
|||
widget='check',
|
||||
)
|
||||
FoundType = WizSetting(
|
||||
values_map=((n_('Same suit'), SS_FoundationStack),
|
||||
(n_('Alternate color'), AC_FoundationStack),
|
||||
(n_('Same color'), SC_FoundationStack),
|
||||
(n_('Rank'), RK_FoundationStack),
|
||||
(n_('Spider same suit'), Spider_SS_Foundation),
|
||||
(n_('Spider alternate color'), Spider_AC_Foundation),
|
||||
(n_('Spider rank'), Spider_RK_Foundation),
|
||||
values_map=((n_('Same suit'), SS_FoundationStack),
|
||||
(n_('Alternate color'), AC_FoundationStack),
|
||||
(n_('Same color'), SC_FoundationStack),
|
||||
(n_('Rank'), RK_FoundationStack),
|
||||
(n_('Any suit but the same'), BO_FoundationStack),
|
||||
(n_('Spider same suit'), Spider_SS_Foundation),
|
||||
(n_('Spider alternate color'), Spider_AC_Foundation),
|
||||
(n_('Spider same color'), Spider_SC_Foundation),
|
||||
(n_('Spider rank'), Spider_RK_Foundation),
|
||||
(n_('Spider any suit but the same'), Spider_BO_Foundation),
|
||||
),
|
||||
default=n_('Same suit'),
|
||||
label=_('Type:'),
|
||||
|
@ -221,23 +233,30 @@ RowsNum = WizSetting(
|
|||
var_name='rows_num',
|
||||
)
|
||||
RowsType = WizSetting(
|
||||
values_map=((n_('Same suit'), SS_RowStack),
|
||||
(n_('Alternate color'), AC_RowStack),
|
||||
(n_('Same color'), SC_RowStack),
|
||||
(n_('Rank'), RK_RowStack),
|
||||
(n_('Any suit but the same'), BO_RowStack),
|
||||
values_map=((n_('No building'), BasicRowStack),
|
||||
|
||||
(n_('Up or down by same suit'), UD_SS_RowStack),
|
||||
(n_('Up or down by alternate color'), UD_AC_RowStack),
|
||||
(n_('Up or down by rank'), UD_RK_RowStack),
|
||||
(n_('Up or down by same color'), UD_SC_RowStack),
|
||||
(n_('Same suit'), SS_RowStack),
|
||||
(n_('Alternate color'), AC_RowStack),
|
||||
(n_('Same color'), SC_RowStack),
|
||||
(n_('Rank'), RK_RowStack),
|
||||
(n_('Any suit but the same'), BO_RowStack),
|
||||
|
||||
(n_('Spider same suit'), Spider_SS_RowStack),
|
||||
(n_('Spider alternate color'), Spider_AC_RowStack),
|
||||
(n_('Up or down by same suit'), UD_SS_RowStack),
|
||||
(n_('Up or down by alternate color'), UD_AC_RowStack),
|
||||
(n_('Up or down by same color'), UD_SC_RowStack),
|
||||
(n_('Up or down by rank'), UD_RK_RowStack),
|
||||
(n_('Up or down by any suit but the same'), UD_BO_RowStack),
|
||||
|
||||
(n_('Yukon same suit'), Yukon_SS_RowStack),
|
||||
(n_('Yukon alternate color'), Yukon_AC_RowStack),
|
||||
(n_('Yukon rank'), Yukon_RK_RowStack),
|
||||
(n_('Spider same suit'), Spider_SS_RowStack),
|
||||
(n_('Spider alternate color'), Spider_AC_RowStack),
|
||||
(n_('Spider same color'), Spider_SC_RowStack),
|
||||
(n_('Spider any suit but the same'), Spider_BO_RowStack),
|
||||
|
||||
(n_('Yukon same suit'), Yukon_SS_RowStack),
|
||||
(n_('Yukon alternate color'), Yukon_AC_RowStack),
|
||||
(n_('Yukon same color'), Yukon_SC_RowStack),
|
||||
(n_('Yukon rank'), Yukon_RK_RowStack),
|
||||
(n_('Yukon any suit but the same'), Yukon_BO_RowStack),
|
||||
),
|
||||
default=n_('Alternate color'),
|
||||
label=_('Type:'),
|
||||
|
@ -254,7 +273,7 @@ RowsBaseCard = WizSetting(
|
|||
var_name='rows_base_card',
|
||||
)
|
||||
RowsDir = WizSetting(
|
||||
values_map=((n_('Up'), 1), (n_('Down'), -1)),
|
||||
values_map=((n_('Up'), 1), (n_('Down'), -1), (n_('Same rank'), 0)),
|
||||
default=n_('Down'),
|
||||
label=_('Direction:'),
|
||||
var_name='rows_dir',
|
||||
|
@ -296,6 +315,7 @@ ReservesMaxAccept = WizSetting(
|
|||
DealType = WizSetting(
|
||||
values_map=((n_('Triangle'), 'triangle'),
|
||||
(n_('Rectangle'), 'rectangle'),
|
||||
(n_('Pyramid'), 'pyramid')
|
||||
),
|
||||
default=n_('Rectangle'),
|
||||
label=_('Type:'),
|
||||
|
|
Loading…
Add table
Reference in a new issue