pin the avocado

master
Raphaël Vinot 2014-08-30 23:34:15 +02:00
parent 97b59f5218
commit b7c34c429f
2 changed files with 15 additions and 6 deletions

View File

@ -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

View File

@ -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():