mirror of
https://github.com/shlomif/PySolFC.git
synced 2025-04-15 02:54:09 -04:00
Added Block Ten game.
This commit is contained in:
parent
2de479320b
commit
2b8cb6464a
3 changed files with 69 additions and 26 deletions
18
html-src/rules/blockten.html
Normal file
18
html-src/rules/blockten.html
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<h1>Block Ten</h1>
|
||||||
|
<p>
|
||||||
|
Pairing game type. 1 deck. No redeal.
|
||||||
|
|
||||||
|
<h3>Object</h3>
|
||||||
|
<p>
|
||||||
|
Discard cards except the four tens.
|
||||||
|
|
||||||
|
<h3>Rules</h3>
|
||||||
|
<p>
|
||||||
|
Nine cards are dealt into the tableau. Pairs of cards that
|
||||||
|
total ten can be removed. Face cards can be removed in pairs.
|
||||||
|
Tens cannot be removed, so they block that spot in the tableau
|
||||||
|
for the rest of the game.
|
||||||
|
|
||||||
|
<h3>Notes</h3>
|
||||||
|
<p>
|
||||||
|
<i>Autodrop</i> is disabled for this game.
|
|
@ -311,16 +311,16 @@ class GI:
|
||||||
# Gnome AisleRiot 2.2.0 (we have 65 out of 70 games)
|
# Gnome AisleRiot 2.2.0 (we have 65 out of 70 games)
|
||||||
# Gnome AisleRiot 3.22.7
|
# Gnome AisleRiot 3.22.7
|
||||||
# still missing:
|
# still missing:
|
||||||
# Block Ten, Hamilton, Isabel, King's Audience, Labyrinth,
|
# Hamilton, Isabel, King's Audience, Labyrinth, Napoleon's Tomb,
|
||||||
# Napoleon's Tomb, Saratoga, Thieves, Treize, Valentine,
|
# Saratoga, Thieves, Treize, Valentine, Wall
|
||||||
# Wall
|
|
||||||
("Gnome AisleRiot", (
|
("Gnome AisleRiot", (
|
||||||
1, 2, 8, 9, 11, 12, 13, 19, 24, 27, 29, 31, 33, 34, 35, 36,
|
1, 2, 8, 9, 11, 12, 13, 19, 24, 27, 29, 31, 33, 34, 35, 36,
|
||||||
38, 40, 41, 42, 43, 45, 48, 58, 59, 60, 65, 67, 89, 91, 92,
|
38, 40, 41, 42, 43, 45, 48, 58, 59, 60, 65, 67, 89, 91, 92,
|
||||||
93, 94, 95, 96, 97, 100, 104, 105, 111, 112, 113, 130, 135,
|
93, 94, 95, 96, 97, 100, 104, 105, 111, 112, 113, 130, 135,
|
||||||
139, 144, 146, 147, 148, 200, 201, 206, 224, 225, 229, 230,
|
139, 144, 146, 147, 148, 200, 201, 206, 224, 225, 229, 230,
|
||||||
233, 257, 258, 280, 281, 282, 283, 284, 334, 384, 495, 551,
|
233, 257, 258, 280, 281, 282, 283, 284, 334, 384, 495, 551,
|
||||||
552, 553, 572, 593, 674, 700, 737, 772, 810, 819, 824, 22231,
|
552, 553, 572, 593, 674, 700, 737, 772, 810, 819, 824, 829,
|
||||||
|
22231,
|
||||||
)),
|
)),
|
||||||
|
|
||||||
# KDE Patience 0.7.3 from KDE 1.1.2 (we have 6 out of 9 games)
|
# KDE Patience 0.7.3 from KDE 1.1.2 (we have 6 out of 9 games)
|
||||||
|
@ -340,26 +340,25 @@ class GI:
|
||||||
# still missing:
|
# still missing:
|
||||||
# Ace of Hearts, Affinity, Agnes Three, Antares, Archway,
|
# Ace of Hearts, Affinity, Agnes Three, Antares, Archway,
|
||||||
# Avenue, Baker's Fan, Baker's Spider, Bedeviled, Binding,
|
# Avenue, Baker's Fan, Baker's Spider, Bedeviled, Binding,
|
||||||
# Black Holes, Black Spider, Block Ten, California,
|
# Black Holes, Black Spider, California, Carcassone,
|
||||||
# Carcassone, Cascade, Club, Color Cell, Cornelius,
|
# Cascade, Club, Color Cell, Cornelius, Demons and Thieves,
|
||||||
# Demons and Thieves, Desert Fox, Deuces and Queens,
|
# Desert Fox, Deuces and Queens, Double Antares,
|
||||||
# Double Antares, Double Antarctica, Double Arctica,
|
# Double Antarctica, Double Arctica, Double Baker's Spider,
|
||||||
# Double Baker's Spider, Double Cascade, Double Fourteens,
|
# Double Cascade, Double Fourteens, Double Line 8,
|
||||||
# Double Line 8, Double Majesty, Double Sea Towers,
|
# Double Majesty, Double Sea Towers, Double Spidercells,
|
||||||
# Double Spidercells, Doublet Cell 5, Doubt, Dream Fan,
|
# Doublet Cell 5, Doubt, Dream Fan, Dumfries Cell,
|
||||||
# Dumfries Cell, Falcon Wing, Fan Nine, Fanny 6,
|
# Falcon Wing, Fan Nine, Fanny 6, Four By Ten, FreeCell AK,
|
||||||
# Four By Ten, FreeCell AK, Gaps Alter, Gaps Diff,
|
# Gaps Alter, Gaps Diff, George V, Grandmother's Clock,
|
||||||
# George V, Grandmother's Clock, In a Frame, Inverted FreeCell,
|
# In a Frame, Inverted FreeCell, Kings, Klondike FreeCell,
|
||||||
# Kings, Klondike FreeCell, La Cabane, La Double Entente,
|
# La Cabane, La Double Entente, Little Gazette, Magic FreeCell,
|
||||||
# Little Gazette, Magic FreeCell, Mini Gaps, Montreal,
|
# Mini Gaps, Montreal, Napoleon at Iena, Napoleon at Waterloo,
|
||||||
# Napoleon at Iena, Napoleon at Waterloo, Napoleon's Guards,
|
# Napoleon's Guards, Nationale, Oasis, Opera, Ordered Suits,
|
||||||
# Nationale, Oasis, Opera, Ordered Suits, Osmotic FreeCell,
|
# Osmotic FreeCell, Pair FreeCell, Pairs 2, Petal, Rainbow Fan,
|
||||||
# Pair FreeCell, Pairs 2, Petal, Rainbow Fan, Reserved Thirteens,
|
# Reserved Thirteens, Sea Spider, Sept Piles 0, Short Solitaire,
|
||||||
# Sea Spider, Sept Piles 0, Short Solitaire, Simple Alternations,
|
# Simple Alternations, Simple Spark, Step By Step, Strategy 7,
|
||||||
# Simple Spark, Step By Step, Strategy 7, Stripped FreeCell,
|
# Stripped FreeCell, Tarantula, Triple Dispute, Trusty Twenty,
|
||||||
# Tarantula, Triple Dispute, Trusty Twenty, Two Ways 3,
|
# Two Ways 3, Up Or Down, Versailles, Vertical FreeCell,
|
||||||
# Up Or Down, Versailles, Vertical FreeCell, Wasp Baby,
|
# Wasp Baby, Yukon FreeCell
|
||||||
# Yukon FreeCell
|
|
||||||
("XM Solitaire", (
|
("XM Solitaire", (
|
||||||
2, 8, 9, 13, 15, 18, 19, 20, 29, 30, 31, 34, 36, 38, 41, 42,
|
2, 8, 9, 13, 15, 18, 19, 20, 29, 30, 31, 34, 36, 38, 41, 42,
|
||||||
45, 46, 50, 53, 54, 56, 57, 59, 64, 77, 78, 86, 96, 97, 98,
|
45, 46, 50, 53, 54, 56, 57, 59, 64, 77, 78, 86, 96, 97, 98,
|
||||||
|
@ -369,7 +368,7 @@ class GI:
|
||||||
363, 364, 372, 376, 383, 384, 385, 386, 390, 391, 393, 398,
|
363, 364, 372, 376, 383, 384, 385, 386, 390, 391, 393, 398,
|
||||||
405, 415, 416, 425, 451, 453, 461, 464, 466, 467, 476, 480,
|
405, 415, 416, 425, 451, 453, 461, 464, 466, 467, 476, 480,
|
||||||
484, 511, 512, 516, 561, 610, 625, 629, 631, 638, 641, 647,
|
484, 511, 512, 516, 561, 610, 625, 629, 631, 638, 641, 647,
|
||||||
650, 655, 678, 734, 751, 784, 825, 901,
|
650, 655, 678, 734, 751, 784, 825, 829, 901,
|
||||||
)),
|
)),
|
||||||
|
|
||||||
# xpat2 1.06 (we have 14 out of 16 games)
|
# xpat2 1.06 (we have 14 out of 16 games)
|
||||||
|
@ -480,7 +479,7 @@ class GI:
|
||||||
('fc-2.12', tuple(range(774, 811)) + (16681,) +
|
('fc-2.12', tuple(range(774, 811)) + (16681,) +
|
||||||
tuple(range(22217, 22219))),
|
tuple(range(22217, 22219))),
|
||||||
('fc-2.14', tuple(range(811, 827))),
|
('fc-2.14', tuple(range(811, 827))),
|
||||||
('fc-2.16', tuple(range(827, 829)))
|
('fc-2.16', tuple(range(827, 830)))
|
||||||
)
|
)
|
||||||
|
|
||||||
# deprecated - the correct way is to or a GI.GT_XXX flag
|
# deprecated - the correct way is to or a GI.GT_XXX flag
|
||||||
|
|
|
@ -336,6 +336,30 @@ class SimplePairs(MonteCarlo):
|
||||||
return 0 <= stack1.id <= 15 and 0 <= stack2.id <= 15
|
return 0 <= stack1.id <= 15 and 0 <= stack2.id <= 15
|
||||||
|
|
||||||
|
|
||||||
|
# ************************************************************************
|
||||||
|
# * Block Ten
|
||||||
|
# ************************************************************************
|
||||||
|
|
||||||
|
class BlockTen_RowStack(MonteCarlo_RowStack):
|
||||||
|
def acceptsCards(self, from_stack, cards):
|
||||||
|
if not OpenStack.acceptsCards(self, from_stack, cards):
|
||||||
|
return False
|
||||||
|
# check the rank
|
||||||
|
if self.cards[-1].rank + cards[0].rank + 2 == 10:
|
||||||
|
return True
|
||||||
|
if self.cards[-1].rank > 9 and self.cards[-1].rank == cards[0].rank:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
class BlockTen(SimplePairs):
|
||||||
|
RowStack_Class = BlockTen_RowStack
|
||||||
|
|
||||||
|
def isGameWon(self):
|
||||||
|
return len(self.s.foundations[0].cards) == 48
|
||||||
|
|
||||||
|
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
# * Neighbour
|
# * Neighbour
|
||||||
# ************************************************************************
|
# ************************************************************************
|
||||||
|
@ -981,3 +1005,5 @@ registerGame(GameInfo(801, DoubleNestor, "Double Nestor",
|
||||||
GI.SL_MOSTLY_LUCK))
|
GI.SL_MOSTLY_LUCK))
|
||||||
registerGame(GameInfo(810, Quatorze, "Quatorze",
|
registerGame(GameInfo(810, Quatorze, "Quatorze",
|
||||||
GI.GT_PAIRING_TYPE, 1, 0, GI.SL_MOSTLY_LUCK))
|
GI.GT_PAIRING_TYPE, 1, 0, GI.SL_MOSTLY_LUCK))
|
||||||
|
registerGame(GameInfo(829, BlockTen, "Block Ten",
|
||||||
|
GI.GT_PAIRING_TYPE, 1, 0, GI.SL_LUCK))
|
||||||
|
|
Loading…
Add table
Reference in a new issue