Exemplo n.º 1
0
 def __init__ (self, pucks_card = None, dispensers_card = None):
     simu.model.table.Table.__init__ (self)
     # Draw cards.
     if pucks_card is None:
         pucks_card = randint (1, 10)
     if dispensers_card is None:
         dispensers_card = randint (1, 2)
     self.pucks_card = pucks_card
     self.dispensers_card = dispensers_card
     # Put pucks on the table.
     self.pucks = [ ]
     puck_n = { 1: (1, 2, 3), 2: (1, 3, 4), 3: (1, 3, 5), 4: (1, 3, 6),
             5: (2, 3, 4), 6: (2, 3, 5), 7: (2, 3, 6), 8: (3, 4, 5),
             9: (3, 4, 6), 10: (3, 5, 6) }
     for n in puck_n[pucks_card]:
         pos1 = ((n - 1) % 3, (n - 1) / 3)
         pos2 = (pos1[0], 3 - pos1[1])
         for pos in pos1, pos2:
             p = RoundObstacle (35, 1)
             p.pos = (1500 - 400 - 250 * pos[0], 1050 - 125 + 200 * pos[1])
             p.color = False
             self.pucks.append (p)
             p = RoundObstacle (35, 1)
             p.pos = (1500 + 400 + 250 * pos[0], 1050 - 125 + 200 * pos[1])
             p.color = True
             self.pucks.append (p)
     # Put pucks in dispensers.
     if self.dispensers_card == 1:
         ds = -250
     else:
         ds = +250
     for pos, color in (
             ((289, 40), True),
             ((3000 - 289, 40), False),
             ((40, 1050 + ds), True),
             ((3000 - 40, 1050 + ds), False),
             ):
         for i in range (5):
             p = RoundObstacle (35, 1)
             p.pos = (pos[0] + i * 2, pos[1] + i * 2)
             p.color = color
             self.pucks.append (p)
     # Add pucks in obstacles.
     self.obstacles += self.pucks
Exemplo n.º 2
0
 def add_plate (pos, color):
     plate = RectangularObstacle ((170, 170), 0)
     plate.pos = pos
     plate.angle = 0
     plate.cherries = [ ]
     self.plates.append (plate)
     cpos = ((-42, -42), (-42, 0), (-42, +42), (0, -21), (0, 21),
             (42, -42), (42, 0), (42, +42))
     ccol = [ color ] + 7 * [ None ]
     random.shuffle (ccol)
     for p, c in zip (cpos, ccol):
         cherry = RoundObstacle (20, 0)
         cherry.pos = p
         cherry.color = c
         plate.cherries.append (cherry)
Exemplo n.º 3
0
 def add_candle (pos, level, color):
     candle = RoundObstacle (40, level)
     candle.pos = pos
     candle.color = color
     candle.state = False
     self.candles.append (candle)