scale = C 0.0 40.0, 850.0 140.0
shift-2 = C 0.0 0.0, 840.0 4.2, 2000.0 8.0
shift = C 0.0 0.0, 500.0 3.5, 1000.0 6.0
+boost = L 0.0 0.0, 100.0 4.0
GameChild.__init__(self, parent)
list.__init__(self, [])
self.display_surface = self.get_display_surface()
+ self.delegate = self.get_game().delegate
+ self.booster = Shift(self, 1, "boost")
self.populate()
+ self.subscribe(self.respond)
def populate(self):
if not self:
def set_next_gap(self):
self.next_gap = randint(210, 380)
+ def respond(self, event):
+ compare = self.delegate.compare
+ if compare(event, "down") or compare(event, "down", True):
+ self.booster.active = not event.cancel
+
+ def get_boost(self):
+ return self.booster.get_change()
+
def update(self):
self.populate()
+ self.booster.update()
if self[0].location.collidelist(self.parent.sieve.locations) != -1:
sieve = self.parent.sieve
if self[0].location.colliderect(sieve.electric.location):
self.location.centerx = self.get_display_surface().get_rect().centerx
def update(self):
- self.move(dy=2.45 * self.get_game().acid.get_volume() + 1.6)
+ self.move(dy=2.45 * self.get_game().acid.get_volume() + 1.6 + \
+ self.parent.get_boost())
for rect in self.collision_rects:
rect.bottom = self.location.bottom
Sprite.update(self)