1
0
Fork 0
mirror of https://github.com/shlomif/PySolFC.git synced 2025-04-05 00:02:29 -04:00

Organized Double Montana/two deck Montana variants.

This commit is contained in:
Joe R 2022-12-21 20:54:14 -05:00
parent 0a55fffdb7
commit abd4b5327b
4 changed files with 38 additions and 11 deletions

View file

@ -1,17 +1,15 @@
<h1>Double Montana</h1>
<p>
Montana type. 2 decks. No redeal.
Montana type. 2 decks. 2 redeals.
<h3>Object</h3>
<p>
Group all the cards in sets of 13 cards in ascending sequence
by suit from Ace to King.
Group all the cards in sets of 12 cards in ascending sequence
by suit from Two to King.
<h3>Quick Description</h3>
<p>
Like <a href="montana.html">Montana</a>, but with two decks,
aces are included in the deal, leaving the leftmost spot in each row
empty, and there is no redeal.
Like <a href="montana.html">Montana</a>, but with two decks.
<h3>Notes</h3>
<p>

View file

@ -0,0 +1,18 @@
<h1>Paganini II</h1>
<p>
Montana type. 2 decks. No redeal.
<h3>Object</h3>
<p>
Group all the cards in sets of 13 cards in ascending sequence
by suit from Ace to King.
<h3>Quick Description</h3>
<p>
Like <a href="montana.html">Montana</a>, but with two decks,
aces are included in the deal, leaving the leftmost spot in each row
empty, and there is no redeal.
<h3>Notes</h3>
<p>
<i>Autodrop</i> is disabled for this game.

View file

@ -548,7 +548,7 @@ class GI:
tuple(range(22217, 22219))),
('fc-2.14', tuple(range(811, 827))),
('fc-2.15', tuple(range(827, 855)) + tuple(range(22400, 22407))),
('dev', tuple(range(855, 877)))
('dev', tuple(range(855, 878)))
)
# deprecated - the correct way is to or a GI.GT_XXX flag

View file

@ -597,9 +597,17 @@ class Spoilt(Game):
# ************************************************************************
# * Double Montana
# * Paganini II
# * Double Blue Moon
# * Double Red Moon
# ************************************************************************
class DoubleMontana(Montana):
Talon_Class = StackWrapper(Montana_Talon, max_rounds=3)
RLEN, RSTEP, RBASE = 104, 13, 1
class PaganiniII(DoubleMontana):
Talon_Class = InitialDealTalonStack
Hint_Class = Galary_Hint
RLEN, RSTEP, RBASE = 112, 14, 0
@ -610,7 +618,7 @@ class DoubleMontana(Montana):
def startGame(self):
frames = 0
for i in range(self.RLEN):
if i == self.RLEN-self.RSTEP: # last row
if i == self.RLEN - self.RSTEP: # last row
self.startDealSample()
frames = -1
if i % self.RSTEP == 0: # left column
@ -618,7 +626,7 @@ class DoubleMontana(Montana):
self.s.talon.dealRow(rows=(self.s.rows[i],), frames=frames)
class DoubleBlueMoon(DoubleMontana, BlueMoon):
class DoubleBlueMoon(PaganiniII, BlueMoon):
Talon_Class = StackWrapper(Montana_Talon, max_rounds=3)
RLEN, RSTEP, RBASE = 112, 14, 0
@ -627,7 +635,7 @@ class DoubleBlueMoon(DoubleMontana, BlueMoon):
startGame = BlueMoon.startGame
class DoubleRedMoon(DoubleMontana, RedMoon):
class DoubleRedMoon(PaganiniII, RedMoon):
Talon_Class = StackWrapper(Montana_Talon, max_rounds=3)
RLEN, RROWS = 112, 8
_shuffleHook = RedMoon._shuffleHook
@ -688,7 +696,7 @@ registerGame(GameInfo(706, Paganini, "Paganini",
registerGame(GameInfo(736, Spoilt, "Spoilt",
GI.GT_MONTANA | GI.GT_STRIPPED, 1, 0, GI.SL_MOSTLY_LUCK,
ranks=(0, 6, 7, 8, 9, 10, 11, 12)))
registerGame(GameInfo(759, DoubleMontana, "Double Montana",
registerGame(GameInfo(759, PaganiniII, "Paganini II",
GI.GT_MONTANA | GI.GT_OPEN, 2, 0, GI.SL_MOSTLY_SKILL))
registerGame(GameInfo(770, DoubleBlueMoon, "Double Blue Moon",
GI.GT_MONTANA | GI.GT_OPEN, 2, 2, GI.SL_MOSTLY_SKILL))
@ -705,3 +713,6 @@ registerGame(GameInfo(795, Pretzel, "Pretzel",
registerGame(GameInfo(858, Station, "Station",
GI.GT_MONTANA | GI.GT_OPEN, 1, 2, GI.SL_MOSTLY_SKILL,
si={"ncards": 48}))
registerGame(GameInfo(877, DoubleMontana, "Double Montana",
GI.GT_MONTANA | GI.GT_OPEN, 2, 2, GI.SL_MOSTLY_SKILL,
si={"ncards": 96}))