pin the avocado
parent
97b59f5218
commit
b7c34c429f
13
avocado.py
13
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
|
||||
|
||||
|
||||
|
|
8
game.py
8
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():
|
||||
|
|
Loading…
Reference in New Issue