diff --git a/html-src/rules/siegecraft.html b/html-src/rules/siegecraft.html new file mode 100644 index 00000000..fa3e1baa --- /dev/null +++ b/html-src/rules/siegecraft.html @@ -0,0 +1,12 @@ +
+Beleaguered Castle type. 1 deck. No redeal. + +
+Move all cards to the foundations. + +
+Like Beleaguered Castle, +but with one free cell. diff --git a/pysollib/gamedb.py b/pysollib/gamedb.py index 72ff0930..c4f4e6bf 100644 --- a/pysollib/gamedb.py +++ b/pysollib/gamedb.py @@ -479,7 +479,7 @@ class GI: ('fc-2.12', tuple(range(774, 811)) + (16681,) + tuple(range(22217, 22219))), ('fc-2.14', tuple(range(811, 827))), - ('fc-2.16', tuple(range(827, 831))) + ('fc-2.16', tuple(range(827, 832))) ) # deprecated - the correct way is to or a GI.GT_XXX flag diff --git a/pysollib/games/beleagueredcastle.py b/pysollib/games/beleagueredcastle.py index ed95c8c9..d4f6085b 100644 --- a/pysollib/games/beleagueredcastle.py +++ b/pysollib/games/beleagueredcastle.py @@ -424,10 +424,19 @@ class Chessboard(Fortress): # ************************************************************************ +# * Siegecraft # * Stronghold # * Fastness # ************************************************************************ +class Siegecraft(BeleagueredCastle): + Hint_Class = FreeCellType_Hint + Solver_Class = FreeCellSolverWrapper(sbb='rank') + + def createGame(self): + BeleagueredCastle.createGame(self, reserves=1) + + class Stronghold(StreetsAndAlleys): Hint_Class = FreeCellType_Hint Solver_Class = FreeCellSolverWrapper(sbb='rank') @@ -919,3 +928,6 @@ registerGame(GameInfo(650, CastlesEnd, "Castles End", registerGame(GameInfo(665, PenelopesWeb, "Penelope's Web", GI.GT_BELEAGUERED_CASTLE | GI.GT_OPEN, 1, 0, GI.SL_MOSTLY_SKILL)) +registerGame(GameInfo(831, Siegecraft, "Siegecraft", + GI.GT_BELEAGUERED_CASTLE | GI.GT_OPEN | GI.GT_ORIGINAL, + 1, 0, GI.SL_MOSTLY_SKILL))