Example #1
0
 def new_rectangular_obstacle (self):
     o = RectangularObstacle ((float (self.new_obstacle_dim0.get ()),
         float (self.new_obstacle_dim1.get ())))
     o.pos = (5, -5)
     o.angle = 0
     self.area_view.area.table.obstacles.append (o)
     self.update ()
Example #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)
Example #3
0
 def add_gold_bar (pos, angle, level = 1):
     gold_bar = RectangularObstacle ((150, 70), level)
     gold_bar.pos = pos
     gold_bar.angle = angle
     gold_bar.value = 3
     self.gold_bars.append (gold_bar)
Example #4
0
 def __init__ (self, cards = None):
     simu.model.table.Table.__init__ (self)
     # Well, this is a boring write only code which create every elements.
     # Add coins.
     self.coins = [ ]
     def add_coin (pos, angle, level = 1):
         coin = RoundObstacle (60, level)
         coin.pos = pos
         coin.angle = angle
         coin.value = 1
         self.coins.append (coin)
     def add_coin_circle (center, radius, start, step, n, level = 1):
         angle = start
         for i in xrange (n):
             pos = (center[0] + radius * math.cos (angle),
                     center[1] + radius * math.sin (angle))
             add_coin (pos, angle, level)
             angle += step
     add_coin ((1000, 1500), 0)
     add_coin ((2000, 1500), pi)
     add_coin ((450, 300), pi)
     add_coin ((3000 - 450, 300), 0)
     add_coin_circle ((1500, 300), 90, 0, pi / 2, 4)
     add_coin_circle ((1500 - 400, 1000), 300 - 60, pi / 4, pi / 4, 7)
     add_coin_circle ((1500 + 400, 1000), 300 - 60, pi + pi / 4, pi / 4, 7)
     add_coin_circle ((1500 - 400, 1000), 115, pi / 4, pi / 2, 4)
     add_coin_circle ((1500 + 400, 1000), 115, pi / 4, pi / 2, 4)
     add_coin_circle ((1500 - 400, 1000), 105, pi / 4, pi / 2, 4, 3)
     add_coin_circle ((1500 + 400, 1000), 105, pi / 4, pi / 2, 4, 3)
     # Add gold bars.
     self.gold_bars = [ ]
     def add_gold_bar (pos, angle, level = 1):
         gold_bar = RectangularObstacle ((150, 70), level)
         gold_bar.pos = pos
         gold_bar.angle = angle
         gold_bar.value = 3
         self.gold_bars.append (gold_bar)
     add_gold_bar ((1500, 647), 0)
     add_gold_bar ((1500 - 400, 1000 + 125 - 35), 0, 2)
     add_gold_bar ((1500 + 400, 1000 + 125 - 35), 0, 2)
     add_gold_bar ((1500 - 400, 1000 - 125 + 35), 0, 2)
     add_gold_bar ((1500 + 400, 1000 - 125 + 35), 0, 2)
     ba = pi / 2 - 0.04995839
     cba = math.cos (ba)
     sba = math.sin (ba)
     gbx = 400 - (285 + 75) * cba + 35
     gby = 1500 - (285 + 75) * sba
     add_gold_bar ((gbx, gby), ba)
     add_gold_bar ((3000 - gbx, gby), pi - ba)
     # Set random black coins.
     nblack = 0
     while nblack < 4:
         coin = random.choice (self.coins[2:])
         if coin.value:
             coin.value = 0
             nblack += 1
     # Add everything to obstacles.
     self.obstacles += self.coins
     self.obstacles += self.gold_bars
     # Add totem as obstacles.
     for i in (-1, 1):
         o = RectangularObstacle ((250, 250), 3)
         o.pos = (1500 + i * 400, 1000)
         self.obstacles.append (o)
Example #5
0
 def add_gift (pos, color):
     gift = RectangularObstacle ((150, 50), 0)
     gift.pos = pos
     gift.color = color
     gift.state = False
     self.gifts.append (gift)