diff --git a/pysollib/games/daddylonglegs.py b/pysollib/games/daddylonglegs.py index a1ff74ad..285ebe72 100644 --- a/pysollib/games/daddylonglegs.py +++ b/pysollib/games/daddylonglegs.py @@ -2,19 +2,25 @@ # # imports -import sys # PySol imports from pysollib.gamedb import registerGame, GameInfo, GI -from pysollib.util import * -from pysollib.stack import * from pysollib.game import Game from pysollib.layout import Layout -#*********************************************************************** +from pysollib.util import ACE + +from pysollib.stack import \ + DealRowTalonStack, \ + Yukon_SS_RowStack, \ + isSameSuitSequence, \ + StackWrapper + +# *********************************************************************** # Daddy Longlegs (by Jim Sizelove) -#*********************************************************************** +# *********************************************************************** + class DaddyLonglegs(Game): Talon_Class = DealRowTalonStack @@ -53,5 +59,5 @@ class DaddyLonglegs(Game): # register the game registerGame(GameInfo(555001, DaddyLonglegs, "Daddy Longlegs", - GI.GT_SPIDER, 1, 0, GI.SL_MOSTLY_SKILL, - rules_filename="daddylonglegs.html")) + GI.GT_SPIDER, 1, 0, GI.SL_MOSTLY_SKILL, + rules_filename="daddylonglegs.html")) diff --git a/pysollib/games/dieboesesieben.py b/pysollib/games/dieboesesieben.py index ccc6dede..bb2f96c6 100644 --- a/pysollib/games/dieboesesieben.py +++ b/pysollib/games/dieboesesieben.py @@ -24,22 +24,21 @@ __all__ = [] # imports -import sys # PySol imports from pysollib.gamedb import registerGame, GameInfo, GI -from pysollib.util import * -from pysollib.stack import * from pysollib.game import Game from pysollib.layout import Layout -from pysollib.hint import AbstractHint, DefaultHint, CautiousDefaultHint from gypsy import DieKoenigsbergerin_Talon, DieRussische_Foundation +from pysollib.stack import AC_RowStack + # ************************************************************************ # * Die böse Sieben # ************************************************************************ + class DieBoeseSieben_Talon(DieKoenigsbergerin_Talon): def canDealCards(self): return len(self.cards) or self.round != self.max_rounds @@ -84,16 +83,19 @@ class DieBoeseSieben(Game): l, s = Layout(self), self.s # set window - self.setSize(l.XM + max(8,rows)*l.XS, l.YM + 5*l.YS) + self.setSize(l.XM + max(8, rows)*l.XS, l.YM + 5*l.YS) # create stacks for i in range(8): x, y, = l.XM + i*l.XS, l.YM - s.foundations.append(DieRussische_Foundation(x, y, self, i/2, max_move=0, max_cards=8)) + s.foundations.append( + DieRussische_Foundation( + x, y, self, i/2, max_move=0, max_cards=8)) for i in range(rows): x, y, = l.XM + (2*i+8-rows)*l.XS/2, l.YM + l.YS s.rows.append(AC_RowStack(x, y, self)) - s.talon = DieBoeseSieben_Talon(l.XM, self.height-l.YS, self, max_rounds=2) + s.talon = DieBoeseSieben_Talon( + l.XM, self.height-l.YS, self, max_rounds=2) l.createText(s.talon, 'ne') l.createRoundText(s.talon, 'se') @@ -116,5 +118,4 @@ class DieBoeseSieben(Game): registerGame(GameInfo(120, DieBoeseSieben, "Bad Seven", GI.GT_2DECK_TYPE, 2, 1, GI.SL_MOSTLY_LUCK, ranks=(0, 6, 7, 8, 9, 10, 11, 12), - altnames=("Die boese Sieben",) )) - + altnames=("Die boese Sieben",))) diff --git a/pysollib/games/diplomat.py b/pysollib/games/diplomat.py index 06bd28f7..91a17392 100644 --- a/pysollib/games/diplomat.py +++ b/pysollib/games/diplomat.py @@ -24,24 +24,32 @@ __all__ = [] # imports -import sys # PySol imports from pysollib.gamedb import registerGame, GameInfo, GI -from pysollib.util import * -from pysollib.stack import * from pysollib.game import Game from pysollib.layout import Layout -from pysollib.hint import AbstractHint, DefaultHint, CautiousDefaultHint from fortythieves import FortyThieves_Hint from spider import Spider_Hint +from pysollib.util import ACE, KING + +from pysollib.stack import \ + RK_RowStack, \ + SS_FoundationStack, \ + SS_RowStack, \ + Spider_SS_RowStack, \ + UD_SS_RowStack, \ + WasteStack, \ + WasteTalonStack, \ + StackWrapper # ************************************************************************ # * Diplomat # ************************************************************************ + class Diplomat(Game): Foundation_Class = SS_FoundationStack RowStack_Class = StackWrapper(RK_RowStack, max_move=1) @@ -82,7 +90,6 @@ class Diplomat(Game): # define stack-groups l.defaultStackGroups() - # # game overrides # @@ -169,8 +176,8 @@ class Parliament(Congress): def _shuffleHook(self, cards): # move Aces to top of the Talon (i.e. first cards to be dealt) - return self._shuffleHookMoveToTop(cards, - lambda c: (c.rank == ACE, (c.deck, c.suit))) + return self._shuffleHookMoveToTop( + cards, lambda c: (c.rank == ACE, (c.deck, c.suit))) def startGame(self): self.s.talon.dealRow(rows=self.s.foundations, frames=0) @@ -262,7 +269,6 @@ class TwinQueens(Congress): shallHighlightMatch = Game._shallHighlightMatch_SS - # register the game registerGame(GameInfo(149, Diplomat, "Diplomat", GI.GT_FORTY_THIEVES, 2, 0, GI.SL_BALANCED)) @@ -282,4 +288,3 @@ registerGame(GameInfo(549, Wheatsheaf, "Wheatsheaf", GI.GT_FORTY_THIEVES, 2, 0, GI.SL_BALANCED)) registerGame(GameInfo(563, TwinQueens, "Twin Queens", GI.GT_FORTY_THIEVES, 2, 1, GI.SL_MOSTLY_SKILL)) - diff --git a/pysollib/games/doublets.py b/pysollib/games/doublets.py index 32a9349a..73a69a4b 100644 --- a/pysollib/games/doublets.py +++ b/pysollib/games/doublets.py @@ -24,21 +24,26 @@ __all__ = [] # imports -import sys # PySol imports from pysollib.gamedb import registerGame, GameInfo, GI -from pysollib.util import * -from pysollib.stack import * from pysollib.game import Game from pysollib.layout import Layout -from pysollib.hint import AbstractHint, DefaultHint, CautiousDefaultHint -from pysollib.pysoltk import MfxCanvasText +from pysollib.hint import CautiousDefaultHint + +from pysollib.util import ANY_SUIT, KING + +from pysollib.stack import \ + AbstractFoundationStack, \ + ReserveStack, \ + WasteStack, \ + WasteTalonStack # ************************************************************************ # * Doublets # ************************************************************************ + class Doublets_Foundation(AbstractFoundationStack): def acceptsCards(self, from_stack, cards): if not AbstractFoundationStack.acceptsCards(self, from_stack, cards): @@ -74,8 +79,9 @@ class Doublets(Game): dir=0, mod=13, max_move=0, max_cards=48)) l.createText(s.foundations[0], "s") -## help = "A, 2, 4, 8, 3, 6, Q, J, 9, 5, 10, 7, A, ..." -## self.texts.help = MfxCanvasText(self.canvas, x + l.CW/2, y + l.YS + l.YM, anchor="n", text=help) +# help = "A, 2, 4, 8, 3, 6, Q, J, 9, 5, 10, 7, A, ..." +# self.texts.help = MfxCanvasText( +# self.canvas, x + l.CW/2, y + l.YS + l.YM, anchor="n", text=help) x, y = l.XM, l.YM + 3*l.YS/2 s.talon = WasteTalonStack(x, y, self, max_rounds=3) l.createText(s.talon, "s") @@ -132,5 +138,4 @@ class Doublets(Game): # register the game registerGame(GameInfo(111, Doublets, "Doublets", GI.GT_1DECK_TYPE, 1, 2, GI.SL_MOSTLY_LUCK, - altnames=('Double or Quits',) )) - + altnames=('Double or Quits',))) diff --git a/tests/style/py-flake8.t b/tests/style/py-flake8.t index b0e8643c..ae3bf5e3 100644 --- a/tests/style/py-flake8.t +++ b/tests/style/py-flake8.t @@ -10,7 +10,7 @@ use String::ShellQuote qw/ shell_quote /; # my $cmd = shell_quote( 'flake8', '.' ); my $cmd = shell_quote( 'flake8', - grep { not($_ eq './pysollib/pysoltk.py' or $_ eq './pysollib/tile/ttk.py') } glob('./pysollib/*.py ./pysollib/[cmpuw]*/*.py ./pysollib/tile/*.py ./pysollib/ui/tktile/*.py ./pysollib/games/[a-cy-z]*.py') ); + grep { not($_ eq './pysollib/pysoltk.py' or $_ eq './pysollib/tile/ttk.py') } glob('./pysollib/*.py ./pysollib/[cmpuw]*/*.py ./pysollib/tile/*.py ./pysollib/ui/tktile/*.py ./pysollib/games/[a-dy-z]*.py') ); # TEST eq_or_diff( scalar(`$cmd`), '', "flake8 is happy with the code." );