surf.blit(self.image, self.image.get_rect(
topleft=(self.position.x - self.EXPLOSION_RADIUS, self.position.y - self.EXPLOSION_RADIUS)))
else:
- # pygame.draw.circle(surf, BLACK, self.position, self.radius)
+ # pygame.draw.circle(surf, WHITE, self.position, self.radius)
if self.position.y - self.radius <= HEIGHT:
- rotated_image = pygame.transform.rotate(self.image, self.angle)
- new_rect = rotated_image.get_rect(center=self.image.get_rect(
- topleft=(self.position.x - self.radius, self.position.y - self.radius)).center)
- self.width, self.height = new_rect.size
- surf.blit(rotated_image, new_rect.topleft)
+ rotated_image,new_rect = rotate_center(self.image, self.angle, self.position)
+ # rotated_image = pygame.transform.rotate(self.image, self.angle)
+ # new_rect = rotated_image.get_rect(center=self.image.get_rect(
+ # topleft=(self.position.x - self.radius, self.position.y - self.radius)).center)
+ self.width, self.height = rotated_image.get_size()
+ surf.blit(rotated_image, new_rect)
class Game:
- BOMB_CHANCE = 0
+ BOMB_CHANCE = 0 # usually 0.1
EFFECT_COUNT_PER_FRUIT = 20
EFFECT_COUNT_PER_BOMB = 0
COMBO_TIME = 250
[FadeInEffect(fade_time=1000)] # Fade in/fade out effects
]
self.combo_counters = []
- self.wave = 10
+ self.wave = 10 # increase number of fruits for testing
self.score = 0
self.time_since_last_hit = 0
self.current_combo = 0
if hit in self.fruits:
self.fruits.remove(hit)
- for layer in self.effects:
- for effect in layer:
- effect_status = effect.update(delta)
- if effect_status:
- layer.remove(effect)
+ # for layer in self.effects:
+ # for effect in layer:
+ # effect_status = effect.update(delta)
+ # if effect_status:
+ # layer.remove(effect)
for combo in self.combo_counters:
combo_status = combo.update(delta)
if combo_status:
# text_surf2 = font.render(f"TIME SINCE LAST HIT {round(self.time_since_last_hit / 1000, 1)}", True, BLACK)
# surf.blit(text_surf2, (WIDTH - text_surf2.get_width(), text_surf.get_height()))
- for effect in self.effects[0]:
- effect.draw(surf)
- for effect in self.effects[1]:
- effect.draw(surf)
+ # for effect in self.effects[0]:
+ # effect.draw(surf)
+ # for effect in self.effects[1]:
+ # effect.draw(surf)
for bomb in self.bombs:
bomb.draw(surf)
- for effect in self.effects[2]:
- effect.draw(surf)
+ # for effect in self.effects[2]:
+ # effect.draw(surf)
for fruit in self.fruits:
fruit.draw(surf)
- for effect in self.effects[3]:
- effect.draw(surf)
+ # for effect in self.effects[3]:
+ # effect.draw(surf)
for combo in self.combo_counters:
combo.draw(surf)
self.player.draw(surf)
- for effect in self.effects[4]:
- effect.draw(surf)
+ # for effect in self.effects[4]:
+ # effect.draw(surf)
if self.game_over:
title = font_large.render("GAME OVER", True, WHITE)
subtitle = font.render(f"HIGHSCORE {self.highscore}", True, WHITE)