Ejemplo n.º 1
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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 12
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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 27
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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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)
Ejemplo n.º 31
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)
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 34
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     return len(self.cards) == 0
Ejemplo n.º 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
Ejemplo n.º 36
0
 def acceptsCards(self, from_stack, cards):
     if not BasicRowStack.acceptsCards(self, from_stack, cards):
         return False
     return len(self.cards) == 0