mirror of
https://github.com/shlomif/PySolFC.git
synced 2025-04-22 03:04:09 -04:00
Add Sevastopol game
This commit is contained in:
parent
b62630ab5f
commit
b3c8390fac
3 changed files with 39 additions and 4 deletions
18
html-src/rules/sevastopol.html
Normal file
18
html-src/rules/sevastopol.html
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<h1>Sevastopol</h1>
|
||||||
|
<p>
|
||||||
|
Spider type. 1 deck. No redeal.
|
||||||
|
|
||||||
|
<h3>Object</h3>
|
||||||
|
<p>
|
||||||
|
Group all the cards in sets of 13 cards in descending sequence
|
||||||
|
by suit from King to Ace and move such sets to the foundations.
|
||||||
|
|
||||||
|
<h3>Quick Description</h3>
|
||||||
|
<p>
|
||||||
|
Like <a href="kiev.html">Kiev</a>, but four of the tableau piles
|
||||||
|
are only dealt three cards.
|
||||||
|
|
||||||
|
<h3>Notes</h3>
|
||||||
|
<p>
|
||||||
|
Sevastopol was invented by Jan Wolter, and first appeared in his
|
||||||
|
app <a href="https://politaire.com">Politaire</a>.
|
|
@ -516,7 +516,7 @@ class GI:
|
||||||
800, 814, 820, 825, 889, 911, 926,
|
800, 814, 820, 825, 889, 911, 926,
|
||||||
941)),
|
941)),
|
||||||
("Mary Whitmore Jones", (421, 624,)),
|
("Mary Whitmore Jones", (421, 624,)),
|
||||||
("Jan Wolter", (917, 939, 946,)),
|
("Jan Wolter", (917, 939, 946, 963,)),
|
||||||
)
|
)
|
||||||
|
|
||||||
GAMES_BY_PYSOL_VERSION = (
|
GAMES_BY_PYSOL_VERSION = (
|
||||||
|
@ -604,7 +604,7 @@ class GI:
|
||||||
tuple(range(13168, 13170)) + tuple(range(18000, 18005)) +
|
tuple(range(13168, 13170)) + tuple(range(18000, 18005)) +
|
||||||
tuple(range(19000, 19012)) + tuple(range(22303, 22311)) +
|
tuple(range(19000, 19012)) + tuple(range(22303, 22311)) +
|
||||||
tuple(range(22353, 22361))),
|
tuple(range(22353, 22361))),
|
||||||
('dev', tuple(range(961, 963))),
|
('dev', tuple(range(961, 964))),
|
||||||
)
|
)
|
||||||
|
|
||||||
# deprecated - the correct way is to or a GI.GT_XXX flag
|
# deprecated - the correct way is to or a GI.GT_XXX flag
|
||||||
|
|
|
@ -570,8 +570,6 @@ class Queensland(Yukon):
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
# * Russian Spider
|
# * Russian Spider
|
||||||
# * Double Russian Spider
|
# * Double Russian Spider
|
||||||
# * Kiev
|
|
||||||
# * Dnieper
|
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
|
|
||||||
class RussianSpider_RowStack(Yukon_SS_RowStack): # Spider_SS_RowStack
|
class RussianSpider_RowStack(Yukon_SS_RowStack): # Spider_SS_RowStack
|
||||||
|
@ -600,6 +598,12 @@ class DoubleRussianSpider(RussianSpider, DoubleRussianSolitaire):
|
||||||
DoubleRussianSolitaire.startGame(self)
|
DoubleRussianSolitaire.startGame(self)
|
||||||
|
|
||||||
|
|
||||||
|
# ************************************************************************
|
||||||
|
# * Kiev
|
||||||
|
# * Dnieper
|
||||||
|
# * Sevastopol
|
||||||
|
# ************************************************************************
|
||||||
|
|
||||||
class Kiev(RussianSpider):
|
class Kiev(RussianSpider):
|
||||||
RowStack_Class = RussianSpider_RowStack
|
RowStack_Class = RussianSpider_RowStack
|
||||||
Layout_Method = staticmethod(Layout.klondikeLayout)
|
Layout_Method = staticmethod(Layout.klondikeLayout)
|
||||||
|
@ -618,6 +622,17 @@ class Dnieper(Kiev):
|
||||||
RowStack_Class = StackWrapper(RussianSpider_RowStack, mod=13)
|
RowStack_Class = StackWrapper(RussianSpider_RowStack, mod=13)
|
||||||
|
|
||||||
|
|
||||||
|
class Sevastopol(Kiev):
|
||||||
|
|
||||||
|
def startGame(self):
|
||||||
|
for i in range(2):
|
||||||
|
self.s.talon.dealRow(flip=0, frames=0)
|
||||||
|
r = self.s.rows
|
||||||
|
rows = (r[1], r[3], r[5])
|
||||||
|
self.s.talon.dealRow(rows=rows, flip=0, frames=0)
|
||||||
|
self._startAndDealRow()
|
||||||
|
|
||||||
|
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
# * Brisbane
|
# * Brisbane
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
|
@ -916,3 +931,5 @@ registerGame(GameInfo(936, YukonKings, "Yukon Kings",
|
||||||
GI.GT_YUKON, 1, 0, GI.SL_BALANCED))
|
GI.GT_YUKON, 1, 0, GI.SL_BALANCED))
|
||||||
registerGame(GameInfo(942, QuadrupleYukon, "Quadruple Yukon",
|
registerGame(GameInfo(942, QuadrupleYukon, "Quadruple Yukon",
|
||||||
GI.GT_YUKON, 4, 0, GI.SL_BALANCED))
|
GI.GT_YUKON, 4, 0, GI.SL_BALANCED))
|
||||||
|
registerGame(GameInfo(963, Sevastopol, "Sevastopol",
|
||||||
|
GI.GT_SPIDER, 1, 0, GI.SL_BALANCED))
|
||||||
|
|
Loading…
Add table
Reference in a new issue