当前位置: 首页>>代码示例>>Python>>正文


Python stack.AbstractFoundationStack类代码示例

本文整理汇总了Python中pysollib.stack.AbstractFoundationStack的典型用法代码示例。如果您正苦于以下问题:Python AbstractFoundationStack类的具体用法?Python AbstractFoundationStack怎么用?Python AbstractFoundationStack使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了AbstractFoundationStack类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return False
     if not self.cards:
         return True
     dir = self._getDir()
     return (self.cards[-1].rank+dir) % self.cap.mod == cards[0].rank
开发者ID:jimsize,项目名称:PySolFC,代码行数:7,代码来源:pileon.py

示例2: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return False
     if self.cards:
         # check the rank
         if (2 * self.cards[-1].rank + 1) % self.cap.mod != cards[0].rank:
             return False
     return True
开发者ID:shlomif,项目名称:PySolFC,代码行数:8,代码来源:doublets.py

示例3: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return False
     # check the rank
     if len(self.cards) > 12:
         return cards[0].rank == 25 - len(self.cards)
     else:
         return cards[0].rank == len(self.cards)
开发者ID:shlomif,项目名称:PySolFC,代码行数:8,代码来源:unionsquare.py

示例4: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return False
     # check the rank
     if self.cards:
         r1, r2 = self.cards[-1].rank, cards[0].rank
         return (r1 + 1) % self.cap.mod == r2
     return True
开发者ID:shlomif,项目名称:PySolFC,代码行数:8,代码来源:golf.py

示例5: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return False
     c = cards[0]
     for s in self.game.s.rows:
         if s is not from_stack and s.cards and s.cards[-1].suit == c.suit:
             if s.cards[-1].rank > c.rank or s.cards[-1].rank == ACE:
                 # found a higher rank or an Ace on the row stacks
                 return c.rank != ACE
     return False
开发者ID:shlomif,项目名称:PySolFC,代码行数:10,代码来源:acesup.py

示例6: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return False
     if self.game.base_rank is None:
         return True
     if not self.cards:
         return cards[-1].rank == self.game.base_rank
     # check the rank
     return (self.cards[-1].rank + self.cap.dir) % \
         self.cap.mod == cards[0].rank
开发者ID:voyageur,项目名称:PySolFC,代码行数:10,代码来源:glenwood.py

示例7: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return False
     if self.cards:
         # check the rank - an ACE equals a Six
         rank = self.cards[-1].rank
         if rank == ACE:
             rank = 5
         if (rank + self.cap.dir) % self.cap.mod != cards[0].rank:
             return False
     return True
开发者ID:jimsize,项目名称:PySolFC,代码行数:11,代码来源:gypsy.py

示例8: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return 0
     if not self.cards:
         return cards[0].suit == self.game.base_card.suit
     stack_dir = self.game.getFoundationDir()
     if stack_dir == 0:
         card_dir = (cards[0].suit - self.cards[-1].suit) % 12
         return card_dir in (1, 11)
     else:
         return (self.cards[-1].suit + stack_dir) % 12 == cards[0].suit
开发者ID:shlomif,项目名称:PySolFC,代码行数:11,代码来源:hanafuda_common.py

示例9: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return 0
     if not self.cards:
         return 1
     stack_dir = self.game.getFoundationDir()
     if stack_dir == 0:
         card_dir = (cards[0].rank - self.cards[-1].rank) % self.cap.mod
         return card_dir in (1, 15)
     else:
         return (self.cards[-1].rank + stack_dir) % self.cap.mod \
             == cards[0].rank
开发者ID:jimsize,项目名称:PySolFC,代码行数:12,代码来源:hexadeck.py

示例10: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return False
     if not self.cards:
         return True
     stack_dir = self.game.getFoundationDir()
     if stack_dir == 0:
         card_dir = self.getRankDir(cards=(self.cards[-1], cards[0]))
         return card_dir in (1, -1)
     else:
         return ((self.cards[-1].rank + stack_dir) %
                 self.cap.mod == cards[0].rank)
开发者ID:shlomif,项目名称:PySolFC,代码行数:12,代码来源:braid.py

示例11: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not (from_stack in self.game.s.rows and
             AbstractFoundationStack.acceptsCards(self, from_stack, cards)):
         return 0
     pile, rank, suit = from_stack.getPile(), 0, 0
     if self.cards:
         rank = (self.cards[-1].rank + 1) % 12
         suit = self.cards[-1].suit + (rank == 0)
     if (not pile or len(pile) <= 11 - rank or
             not isSameSuitSequence(pile[-(12 - rank):])):
         return 0
     return cards[0].suit == suit and cards[0].rank == rank
开发者ID:shlomif,项目名称:PySolFC,代码行数:12,代码来源:dashavatara.py

示例12: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return False
     # search foundation with max number of cards
     assert len(cards) == 1
     max_s, max_cards = None, -1
     for s in self.game.s.foundations:
         if len(s.cards) > max_cards:
             max_s, max_cards = s, len(s.cards)
     # if we have less cards, then rank must match the card in this
     # foundation
     if len(self.cards) < max_cards:
         if cards[0].rank != max_s.cards[len(self.cards)].rank:
             return False
     #
     return True
开发者ID:shlomif,项目名称:PySolFC,代码行数:16,代码来源:osmosis.py

示例13: acceptsCards

 def acceptsCards(self, from_stack, cards):
     if not AbstractFoundationStack.acceptsCards(self, from_stack, cards):
         return False
     if from_stack not in self.game.s.rows:
         return False
     if cards[0].rank == ACE:
         return True
     if not self.cards:
         return False
     rank = self.cards[-1].rank
     if rank == ACE:
         rank = 5
     if (rank + self.cap.dir) % self.cap.mod != cards[0].rank:
         return False
     if cards[0].rank == QUEEN:
         return True
     i = list(self.game.s.foundations).index(self)
     j = list(self.game.s.rows).index(from_stack)
     return i == j
开发者ID:jimsize,项目名称:PySolFC,代码行数:19,代码来源:auldlangsyne.py

示例14: __init__

 def __init__(self, x, y, game, suit, **cap):
     kwdefault(cap, mod=12, dir=0, base_rank=NO_RANK, max_move=0)
     AbstractFoundationStack.__init__(self, x, y, game, suit, **cap)
开发者ID:jimsize,项目名称:PySolFC,代码行数:3,代码来源:mughal.py

示例15: updateText

 def updateText(self):
     AbstractFoundationStack.updateText(self)
     self.game.updateText()
开发者ID:jimsize,项目名称:PySolFC,代码行数:3,代码来源:mughal.py


注:本文中的pysollib.stack.AbstractFoundationStack类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。