From b7c34c429f1d5b1efeabf437c6326d096e3a0189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Vinot?= Date: Sat, 30 Aug 2014 23:34:15 +0200 Subject: [PATCH] pin the avocado --- avocado.py | 13 +++++++------ game.py | 8 ++++++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/avocado.py b/avocado.py index ad9f36c..fa46a7c 100644 --- a/avocado.py +++ b/avocado.py @@ -73,14 +73,15 @@ class Avocado: def move(self): - if self.rect.right > self.screen_width or self.rect.left < 0: - self.vx = -self.vy + if not self.has_been_pinned: + if self.rect.right > self.screen_width or self.rect.left < 0: + self.vx = -self.vy - if self.hasLanded(): - self.destroy() + if self.hasLanded(): + self.destroy() - self.rect.x += self.vx - self.rect.y += self.vy + self.rect.x += self.vx + self.rect.y += self.vy return True diff --git a/game.py b/game.py index bd548c4..61b17ee 100755 --- a/game.py +++ b/game.py @@ -17,6 +17,7 @@ class TheGame: """ foo """ self.colors = [BLUE, GREEN, RED, YELLOW] pygame.init() + self.pinned = [] try: pygame.mixer.init() pygame.mixer.music.set_volume(0.5) @@ -74,6 +75,8 @@ class TheGame: pygame.display.flip() pygame.time.wait(3000) + def keepPinned(self, avocado): + self.pinned.append(avocado) def main(self): clock = pygame.time.Clock() @@ -125,6 +128,7 @@ class TheGame: levelChange = 35 timeleft = time avocados = [] + self.pinned = [] print('DEBUG :: Level ' + str(level)) game.playLevel(level) @@ -163,11 +167,15 @@ class TheGame: # Remove avocados from the list if they no longer exist # E.g. have been pinned or fallen down + self.pinned += [avo for avo in avocados if avo.has_been_pinned] avocados[:] = [ x for x in avocados if x.exists() ] for a in avocados: a.setTargetColor(color) a.move() a.blitme() + for a in self.pinned: + a.blitme() + # Catch events for event in pygame.event.get():