def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if from_stack is self.game.s.talon or \
             from_stack in self.game.s.reserves:
         return True
     return False
示例#2
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if self.id % self.game.RSTEP == 0:
         return cards[0].rank == self.game.RBASE
     left = self.game.s.rows[self.id - 1]
     return left.cards and left.cards[-1].rank + 1 == cards[0].rank
示例#3
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     # check
     if self.cards or self.game.s.talon.cards:
         return False
     return True
示例#4
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     # check
     if self.cards or self.game.s.talon.cards:
         return False
     return True
示例#5
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if from_stack is self.game.s.talon or \
             from_stack in self.game.s.reserves:
         return True
     return False
示例#6
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if self.id % self.game.RSTEP == 0:
         return cards[0].rank == self.game.RBASE
     left = self.game.s.rows[self.id - 1]
     return left.cards and left.cards[-1].rank + 1 == cards[0].rank
示例#7
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if not self.cards:
         return True
     c1, c2 = self.cards[-1], cards[0]
     if c1.rank == c2.rank + 1:
         return True
     return c1.rank == c2.rank
示例#8
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if not self.cards:
         return True
     c1, c2 = self.cards[-1], cards[0]
     if c1.rank == c2.rank+1:
         return True
     return c1.rank == c2.rank
示例#9
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if self.game.s.talon.cards:
         return False
     if not self.cards:
         return True
     c1, c2 = self.cards[-1], cards[0]
     return c1.suit == c2.suit and c1.rank == c2.rank + 1
示例#10
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if self.game.s.talon.cards:
         return False
     if not self.cards:
         return True
     c1, c2 = self.cards[-1], cards[0]
     return c1.suit == c2.suit and c1.rank == c2.rank+1
示例#11
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if from_stack is self.game.s.waste:
         return True
     if not self.cards:
         return cards[0].rank == KING
     if (from_stack in self.game.s.rows
             and self.cards[-1].rank - cards[0].rank == 1):
         return True
     return False
示例#12
0
文件: gypsy.py 项目: jimsize/PySolFC
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.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
示例#13
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if from_stack is self.game.s.waste:
         return True
     if not self.cards:
         return cards[0].rank == KING
     if (from_stack in self.game.s.rows and
             self.cards[-1].rank-cards[0].rank == 1):
         return True
     return False
示例#14
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.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
示例#15
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if self.id % 10 != 0:
         # left neighbour
         s = self.game.s.rows[self.id - 1]
         if s.cards and s.cards[-1].suit == cards[0].suit \
                 and (s.cards[-1].rank + 1) % 13 == cards[0].rank:
             return True
     if self.id % 10 != 10 - 1:
         # right neighbour
         s = self.game.s.rows[self.id + 1]
         if s.cards and s.cards[-1].suit == cards[0].suit \
                 and (s.cards[-1].rank - 1) % 13 == cards[0].rank:
             return True
     return False
示例#16
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if self.id % self.game.RSTEP == 0:
         return cards[0].rank == self.game.RBASE
     r = self.game.s.rows
     left = r[self.id - 1]
     if left.cards and left.cards[-1].suit == cards[0].suit \
             and left.cards[-1].rank + 1 == cards[0].rank:
         return True
     if self.id < len(r)-1:
         right = r[self.id + 1]
         if right.cards and right.cards[-1].suit == cards[0].suit \
                 and right.cards[-1].rank - 1 == cards[0].rank:
             return True
     return False
示例#17
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if self.id % 10 != 0:
         # left neighbour
         s = self.game.s.rows[self.id - 1]
         if s.cards and s.cards[-1].suit == cards[0].suit \
                 and (s.cards[-1].rank + 1) % 13 == cards[0].rank:
             return True
     if self.id % 10 != 10 - 1:
         # right neighbour
         s = self.game.s.rows[self.id + 1]
         if s.cards and s.cards[-1].suit == cards[0].suit \
                 and (s.cards[-1].rank - 1) % 13 == cards[0].rank:
             return True
     return False
示例#18
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if self.id % self.game.RSTEP == 0:
         return cards[0].rank == self.game.RBASE
     r = self.game.s.rows
     left = r[self.id - 1]
     if left.cards and left.cards[-1].suit == cards[0].suit \
             and left.cards[-1].rank + 1 == cards[0].rank:
         return True
     if self.id < len(r)-1:
         right = r[self.id + 1]
         if right.cards and right.cards[-1].suit == cards[0].suit \
                 and right.cards[-1].rank - 1 == cards[0].rank:
             return True
     return False
示例#19
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     # left neighbour
     s = self.game.s.rows[(self.id - 1) % 54]
     if s.cards:
         if s.cards[-1].suit == cards[0].suit and \
                 s.cards[-1].rank + 1 == cards[0].rank:
             return True
         if s.cards[-1].rank == QUEEN and cards[0].rank == ACE:
             return True
     # right neighbour
     s = self.game.s.rows[(self.id + 1) % 54]
     if s.cards:
         if s.cards[-1].suit == cards[0].suit and \
                 s.cards[-1].rank - 1 == cards[0].rank:
             return True
     return False
示例#20
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     # left neighbour
     s = self.game.s.rows[(self.id - 1) % 54]
     if s.cards:
         if s.cards[-1].suit == cards[0].suit and \
                 s.cards[-1].rank + 1 == cards[0].rank:
             return True
         if s.cards[-1].rank == QUEEN and cards[0].rank == ACE:
             return True
     # right neighbour
     s = self.game.s.rows[(self.id + 1) % 54]
     if s.cards:
         if s.cards[-1].suit == cards[0].suit and \
                 s.cards[-1].rank - 1 == cards[0].rank:
             return True
     return False
示例#21
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     # this stack accepts any one card from the Waste pile
     return from_stack is self.game.s.waste
示例#22
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     return from_stack not in self.game.s.rows
示例#23
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     # this stack accepts any one card from the Waste pile
     return from_stack is self.game.s.waste and len(cards) == 1
示例#24
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     return from_stack is self.game.s.talon
示例#25
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return 0
     if not self.cards:
         return 1
     return self.cards[-1].rank > cards[0].rank
示例#26
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if not self.cards:
         return True
     return from_stack is self.game.s.waste and len(cards) == 1
示例#27
0
文件: hanoi.py 项目: shlomif/PySolFC
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return 0
     if not self.cards:
         return 1
     return self.cards[-1].rank > cards[0].rank
示例#28
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     # this stack accepts any one card from the Talon
     return from_stack is self.game.s.talon and len(cards) == 1
示例#29
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     if not self.cards:
         return True
     return from_stack is self.game.s.waste and len(cards) == 1
示例#30
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return 0
     # check
     return not (self.cards or self.game.s.talon.cards)
示例#31
0
文件: mughal.py 项目: jimsize/PySolFC
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return 0
     # check
     return not (self.cards or self.game.s.talon.cards)
示例#32
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     # this stack accepts any one card from reserves
     return from_stack in self.game.s.reserves
示例#33
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     # this stack accepts any one card from the Talon
     return from_stack is self.game.s.talon and len(cards) == 1
示例#34
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     return len(self.cards) == 0
示例#35
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     # this stack accepts any one card from reserves
     return from_stack in self.game.s.reserves
示例#36
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     return len(self.cards) == 0