mirror of
https://github.com/shlomif/PySolFC.git
synced 2025-04-05 00:02:29 -04:00
Clean up Scorpion type games
This commit is contained in:
parent
fd4a4e1378
commit
12118d12ed
3 changed files with 38 additions and 35 deletions
13
html-src/rules/waspii.html
Normal file
13
html-src/rules/waspii.html
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<h1>Wasp II</h1>
|
||||||
|
<p>
|
||||||
|
Spider type. 1 deck. No redeal.
|
||||||
|
|
||||||
|
<h3>Object</h3>
|
||||||
|
<p>
|
||||||
|
Move all cards to the foundations.
|
||||||
|
|
||||||
|
<h3>Quick Description</h3>
|
||||||
|
<p>
|
||||||
|
Like <a href="wasp.html">Wasp</a>,
|
||||||
|
but only three of the tableau piles contain
|
||||||
|
face-down cards (similar to <a href="scorpionii.html">Scorpion II</a>).
|
|
@ -594,7 +594,7 @@ class GI:
|
||||||
tuple(range(19000, 19012)) + tuple(range(22303, 22311)) +
|
tuple(range(19000, 19012)) + tuple(range(22303, 22311)) +
|
||||||
tuple(range(22353, 22361))),
|
tuple(range(22353, 22361))),
|
||||||
('fc-3.1', tuple(range(961, 971))),
|
('fc-3.1', tuple(range(961, 971))),
|
||||||
('dev', tuple(range(971, 976)) + tuple(range(18005, 18007)) + (526,)),
|
('dev', tuple(range(971, 977)) + tuple(range(18005, 18007)) + (526,)),
|
||||||
)
|
)
|
||||||
|
|
||||||
# deprecated - the correct way is to or a GI.GT_XXX flag
|
# deprecated - the correct way is to or a GI.GT_XXX flag
|
||||||
|
|
|
@ -348,15 +348,16 @@ class Scorpion_RowStack(Yukon_SS_RowStack, Spider_RowStack):
|
||||||
|
|
||||||
|
|
||||||
class Scorpion(RelaxedSpider):
|
class Scorpion(RelaxedSpider):
|
||||||
|
|
||||||
Hint_Class = YukonType_Hint
|
Hint_Class = YukonType_Hint
|
||||||
RowStack_Class = StackWrapper(Scorpion_RowStack, base_rank=KING)
|
RowStack_Class = StackWrapper(Scorpion_RowStack, base_rank=KING)
|
||||||
|
|
||||||
|
FACEDOWNS = (4, 4, 4, 0, 0, 0)
|
||||||
|
|
||||||
def createGame(self):
|
def createGame(self):
|
||||||
RelaxedSpider.createGame(self, rows=7, playcards=20)
|
RelaxedSpider.createGame(self, rows=7, playcards=20)
|
||||||
|
|
||||||
def startGame(self):
|
def startGame(self):
|
||||||
for i in (4, 4, 4, 0, 0, 0):
|
for i in self.FACEDOWNS:
|
||||||
self.s.talon.dealRow(rows=self.s.rows[:i], flip=0, frames=0)
|
self.s.talon.dealRow(rows=self.s.rows[:i], flip=0, frames=0)
|
||||||
self.s.talon.dealRow(rows=self.s.rows[i:], flip=1, frames=0)
|
self.s.talon.dealRow(rows=self.s.rows[i:], flip=1, frames=0)
|
||||||
self._startAndDealRow()
|
self._startAndDealRow()
|
||||||
|
@ -379,46 +380,46 @@ class ScorpionTail(Scorpion):
|
||||||
shallHighlightMatch = Game._shallHighlightMatch_AC
|
shallHighlightMatch = Game._shallHighlightMatch_AC
|
||||||
|
|
||||||
|
|
||||||
|
# ************************************************************************
|
||||||
|
# * Double Scorpion
|
||||||
|
# * Triple Scorpion
|
||||||
|
# ************************************************************************
|
||||||
|
|
||||||
class DoubleScorpion(Scorpion):
|
class DoubleScorpion(Scorpion):
|
||||||
Talon_Class = InitialDealTalonStack
|
FACEDOWNS = (5, 5, 5, 5, 0, 0, 0, 0, 0)
|
||||||
|
|
||||||
def createGame(self):
|
def createGame(self):
|
||||||
RelaxedSpider.createGame(self, rows=10, playcards=26, texts=0)
|
RelaxedSpider.createGame(self, rows=10, playcards=26, texts=0)
|
||||||
|
|
||||||
def startGame(self):
|
|
||||||
for i in (5, 5, 5, 5, 0, 0, 0, 0, 0):
|
|
||||||
self.s.talon.dealRow(rows=self.s.rows[:i], flip=0, frames=0)
|
|
||||||
self.s.talon.dealRow(rows=self.s.rows[i:], flip=1, frames=0)
|
|
||||||
self.startDealSample()
|
|
||||||
self.s.talon.dealRow()
|
|
||||||
self.s.talon.dealRowAvail()
|
|
||||||
|
|
||||||
|
|
||||||
class TripleScorpion(Scorpion):
|
class TripleScorpion(Scorpion):
|
||||||
Talon_Class = InitialDealTalonStack
|
Talon_Class = InitialDealTalonStack
|
||||||
|
|
||||||
|
FACEDOWNS = (5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0)
|
||||||
|
|
||||||
def createGame(self):
|
def createGame(self):
|
||||||
RelaxedSpider.createGame(self, rows=13, playcards=30, texts=0)
|
RelaxedSpider.createGame(self, rows=13, playcards=30, texts=0)
|
||||||
|
|
||||||
def startGame(self):
|
|
||||||
for i in (5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0):
|
# ************************************************************************
|
||||||
self.s.talon.dealRow(rows=self.s.rows[:i], flip=0, frames=0)
|
# * Scorpion II
|
||||||
self.s.talon.dealRow(rows=self.s.rows[i:], flip=1, frames=0)
|
# ************************************************************************
|
||||||
self._startAndDealRow()
|
|
||||||
|
class ScorpionII(Scorpion):
|
||||||
|
FACEDOWNS = (3, 3, 3, 0, 0, 0)
|
||||||
|
|
||||||
|
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
# * Wasp
|
# * Wasp
|
||||||
|
# * Wasp II
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
|
|
||||||
class Wasp(Scorpion):
|
class Wasp(Scorpion):
|
||||||
RowStack_Class = Scorpion_RowStack # anything on an empty space
|
RowStack_Class = Scorpion_RowStack # anything on an empty space
|
||||||
|
|
||||||
def startGame(self):
|
|
||||||
for i in (3, 3, 3, 0, 0, 0):
|
class WaspII(ScorpionII):
|
||||||
self.s.talon.dealRow(rows=self.s.rows[:i], flip=0, frames=0)
|
RowStack_Class = Scorpion_RowStack
|
||||||
self.s.talon.dealRow(rows=self.s.rows[i:], flip=1, frames=0)
|
|
||||||
self._startAndDealRow()
|
|
||||||
|
|
||||||
|
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
|
@ -1124,19 +1125,6 @@ class Incompatibility(Spidike):
|
||||||
self._startDealNumRowsAndDealSingleRow(4)
|
self._startDealNumRowsAndDealSingleRow(4)
|
||||||
|
|
||||||
|
|
||||||
# ************************************************************************
|
|
||||||
# * Scorpion II
|
|
||||||
# ************************************************************************
|
|
||||||
|
|
||||||
class ScorpionII(Scorpion):
|
|
||||||
|
|
||||||
def startGame(self):
|
|
||||||
for i in (3, 3, 3, 0, 0, 0):
|
|
||||||
self.s.talon.dealRow(rows=self.s.rows[:i], flip=0, frames=0)
|
|
||||||
self.s.talon.dealRow(rows=self.s.rows[i:], flip=1, frames=0)
|
|
||||||
self._startAndDealRow()
|
|
||||||
|
|
||||||
|
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
# * Tarantula
|
# * Tarantula
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
|
@ -1671,3 +1659,5 @@ registerGame(GameInfo(917, Astrocyte, "Astrocyte",
|
||||||
registerGame(GameInfo(971, Microbe, "Microbe",
|
registerGame(GameInfo(971, Microbe, "Microbe",
|
||||||
GI.GT_SPIDER | GI.GT_SEPARATE_DECKS, 2, 0,
|
GI.GT_SPIDER | GI.GT_SEPARATE_DECKS, 2, 0,
|
||||||
GI.SL_MOSTLY_SKILL))
|
GI.SL_MOSTLY_SKILL))
|
||||||
|
registerGame(GameInfo(976, WaspII, "Wasp II",
|
||||||
|
GI.GT_SPIDER, 1, 0, GI.SL_MOSTLY_SKILL))
|
||||||
|
|
Loading…
Add table
Reference in a new issue