diff --git a/avocado.py b/avocado.py index 316a23d..c424819 100644 --- a/avocado.py +++ b/avocado.py @@ -37,7 +37,7 @@ class Avocado: self.has_been_pinned = False - def updateTargetColor(self, targetColor): + def setTargetColor(self, targetColor): self.target = targetColor @@ -87,7 +87,7 @@ class Avocado: def hasLanded(self): if self.rect.bottom > self.screen_height or self.rect.top < 0: self.is_falling = False - print('platch') + print('DEBUG :: splatsh!') return True diff --git a/game.py b/game.py index bb2e7fc..6db5f7f 100755 --- a/game.py +++ b/game.py @@ -18,14 +18,6 @@ class TheGame: self.colors = [BLUE, GREEN, RED, YELLOW] - def initialize_screen(self): - displayInfo = pygame.display.Info() - zoom = 1.3 - WIDTH = int(displayInfo.current_w / zoom) - HEIGHT = int(displayInfo.current_h / zoom) - return (WIDTH, HEIGHT) - - def main(self): pygame.init() try: @@ -33,14 +25,12 @@ class TheGame: pygame.mixer.music.set_volume(0.5) noSound = False except: - print("Y U NO sound? :(") + print("DEBUG :: Y U NO sound? :(") noSound = True pygame.display.set_caption('Pin Avo, the Cado!') clock = pygame.time.Clock() - # initialize_screen() won't work for dualscreen - #size = initialize_screen() size = (800, 600) bg = pygame.image.load("img/background.png") desired_fps = 15 @@ -48,7 +38,9 @@ class TheGame: score = 0 time = timeleft = 30 level = 1 - font = pygame.font.Font(None, 40) + levelChange = 0 + reachScore = 200 + font = pygame.font.Font(None, 60) # I don't know, should we move this text out of the way? game_over = font.render('GAME OVER', 0, RED) @@ -70,6 +62,7 @@ class TheGame: time_passed = clock.tick(desired_fps) fps = clock.get_fps() + screen_width, screen_height = size if type(bg) is tuple: screen.fill(bg) @@ -77,18 +70,24 @@ class TheGame: screen.blit(pygame.transform.scale(bg, (800, 600)), (0, 0)) # Next level? - if score >= 500: + if score >= reachScore: score = 0 level += 1 - print('DEBUG :: Level ' + string(level)) + levelChange = 35 + avocados = [] + print('DEBUG :: Level ' + str(level)) # Let's add the lawyer fullegast.blitme() + if levelChange > 0: + levelText = font.render('Level ' + str(level), 0, WHITE) + screen.blit(levelText, (screen_width / 3, screen_height / 2)) + levelChange -= 1 + timeleft -= time_passed / 1000 timeleft = round(timeleft, 2) if timeleft <= 0: - screen_width, screen_height = size screen.blit(game_over, (screen_width/3, screen_height/2)) displaytime = 'Timed out!' pygame.display.flip() @@ -100,22 +99,23 @@ class TheGame: the_hud.draw_hud(score, displaytime, round(fps, 2)) # Initialize a number of avocados, depending on the level - avocados_in_game = len(avocados) - avocadosWanted = level * multiplier - if avocados_in_game < avocadosWanted: - for i in range(avocados_in_game, avocadosWanted): - avocolor = self.chooseRandomColor() - avosize = (50, 50) # should we randomize this? - a = avocado.Avocado(screen, avocolor, avosize, color, noSound) - avocados.append(a) + if levelChange == 0: + avocados_in_game = len(avocados) + avocadosWanted = level * multiplier + if avocados_in_game < avocadosWanted: + for i in range(avocados_in_game, avocadosWanted): + avocolor = self.chooseRandomColor() + avosize = (50, 50) # should we randomize this? + a = avocado.Avocado(screen, avocolor, avosize, color, noSound) + avocados.append(a) - # Remove avocados from the list if they no longer exist - # E.g. have been pinned or fallen down - avocados[:] = [ x for x in avocados if x.exists() ] - for a in avocados: - a.updateTargetColor(color) - a.move() - a.blitme() + # Remove avocados from the list if they no longer exist + # E.g. have been pinned or fallen down + avocados[:] = [ x for x in avocados if x.exists() ] + for a in avocados: + a.setTargetColor(color) + a.move() + a.blitme() # Catch events for event in pygame.event.get():