mirror of
https://github.com/shlomif/PySolFC.git
synced 2025-04-05 00:02:29 -04:00
Added Vincent game.
This commit is contained in:
parent
4f2f17b166
commit
a94d0235b8
3 changed files with 34 additions and 3 deletions
14
html-src/rules/vincent.html
Normal file
14
html-src/rules/vincent.html
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<h1>Vincent</h1>
|
||||||
|
<p>
|
||||||
|
Fan type. 1 deck. No redeals.
|
||||||
|
|
||||||
|
<h3>Object</h3>
|
||||||
|
<p>
|
||||||
|
Move all cards to the foundations.
|
||||||
|
|
||||||
|
<h3>Quick Description</h3>
|
||||||
|
<p>
|
||||||
|
Like <a href="bristol.html">Bristol</a>,
|
||||||
|
but tableau piles are built down by same suit, and sequences of
|
||||||
|
cards can be moved together and kings can be played to empty
|
||||||
|
piles. Foundations are built up by the same suit.
|
|
@ -594,7 +594,7 @@ class GI:
|
||||||
('fc-2.20', tuple(range(855, 897))),
|
('fc-2.20', tuple(range(855, 897))),
|
||||||
('fc-2.21', tuple(range(897, 900)) + tuple(range(11014, 11017)) +
|
('fc-2.21', tuple(range(897, 900)) + tuple(range(11014, 11017)) +
|
||||||
tuple(range(13160, 13163)) + (16682,)),
|
tuple(range(13160, 13163)) + (16682,)),
|
||||||
('dev', tuple(range(906, 949)) + tuple(range(11017, 11020)) +
|
('dev', tuple(range(906, 950)) + tuple(range(11017, 11020)) +
|
||||||
tuple(range(5600, 5624)) + tuple(range(18000, 18005)) +
|
tuple(range(5600, 5624)) + tuple(range(18000, 18005)) +
|
||||||
tuple(range(22303, 22311)) + tuple(range(22353, 22361))),
|
tuple(range(22303, 22311)) + tuple(range(22353, 22361))),
|
||||||
)
|
)
|
||||||
|
|
|
@ -72,6 +72,10 @@ class Bristol_Talon(TalonStack):
|
||||||
|
|
||||||
|
|
||||||
class Bristol(Game):
|
class Bristol(Game):
|
||||||
|
RowStack_Class = StackWrapper(
|
||||||
|
RK_RowStack, base_rank=NO_RANK, max_move=1)
|
||||||
|
Foundation_Class = RK_FoundationStack
|
||||||
|
|
||||||
Hint_Class = Bristol_Hint
|
Hint_Class = Bristol_Hint
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -88,13 +92,15 @@ class Bristol(Game):
|
||||||
# create stacks
|
# create stacks
|
||||||
x, y, = l.XM + 3*l.XS, l.YM
|
x, y, = l.XM + 3*l.XS, l.YM
|
||||||
for i in range(4):
|
for i in range(4):
|
||||||
s.foundations.append(RK_FoundationStack(x, y, self, max_move=0))
|
s.foundations.append(self.Foundation_Class(x, y,
|
||||||
|
self, max_move=0,
|
||||||
|
suit=i))
|
||||||
x += l.XS
|
x += l.XS
|
||||||
for i in range(2):
|
for i in range(2):
|
||||||
y = l.YM + (i*2+3)*l.YS//2
|
y = l.YM + (i*2+3)*l.YS//2
|
||||||
for j in range(4):
|
for j in range(4):
|
||||||
x = l.XM + (j*5)*l.XS//2
|
x = l.XM + (j*5)*l.XS//2
|
||||||
stack = RK_RowStack(x, y, self, base_rank=NO_RANK, max_move=1)
|
stack = self.RowStack_Class(x, y, self)
|
||||||
stack.CARD_XOFFSET, stack.CARD_YOFFSET = l.XOFFSET, 0
|
stack.CARD_XOFFSET, stack.CARD_YOFFSET = l.XOFFSET, 0
|
||||||
s.rows.append(stack)
|
s.rows.append(stack)
|
||||||
x, y, = l.XM + 3*l.XS, l.YM + 4*l.YS
|
x, y, = l.XM + 3*l.XS, l.YM + 4*l.YS
|
||||||
|
@ -145,6 +151,15 @@ class Bristol(Game):
|
||||||
shallHighlightMatch = Game._shallHighlightMatch_RK
|
shallHighlightMatch = Game._shallHighlightMatch_RK
|
||||||
|
|
||||||
|
|
||||||
|
# ************************************************************************
|
||||||
|
# * Vincent
|
||||||
|
# ************************************************************************
|
||||||
|
|
||||||
|
class Vincent(Bristol):
|
||||||
|
RowStack_Class = StackWrapper(SS_RowStack, base_rank=KING)
|
||||||
|
Foundation_Class = SS_FoundationStack
|
||||||
|
|
||||||
|
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
# * Belvedere
|
# * Belvedere
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
|
@ -514,3 +529,5 @@ registerGame(GameInfo(519, Gotham, "Gotham",
|
||||||
GI.GT_FAN_TYPE, 2, 0, GI.SL_BALANCED))
|
GI.GT_FAN_TYPE, 2, 0, GI.SL_BALANCED))
|
||||||
registerGame(GameInfo(604, Interment, "Interment",
|
registerGame(GameInfo(604, Interment, "Interment",
|
||||||
GI.GT_FAN_TYPE, 2, 0, GI.SL_BALANCED))
|
GI.GT_FAN_TYPE, 2, 0, GI.SL_BALANCED))
|
||||||
|
registerGame(GameInfo(949, Vincent, "Vincent",
|
||||||
|
GI.GT_FAN_TYPE, 1, 0, GI.SL_MOSTLY_SKILL))
|
||||||
|
|
Loading…
Add table
Reference in a new issue