Merge remote-tracking branch 'origin/main'
commit
ea6b6f91bb
|
@ -18,11 +18,15 @@ class VacuumCleanerElement(StaticLevelElement):
|
||||||
self.danger = True
|
self.danger = True
|
||||||
self.danger_time = 30
|
self.danger_time = 30
|
||||||
self.off_time = 50
|
self.off_time = 50
|
||||||
|
self.is_collider = False
|
||||||
|
|
||||||
def tick(self, tick_data: TickData):
|
def tick(self, tick_data: TickData):
|
||||||
super().tick(tick_data)
|
super().tick(tick_data)
|
||||||
self.animation_state_counter += tick_data.dt
|
self.animation_state_counter += tick_data.dt
|
||||||
if self.danger:
|
if self.danger:
|
||||||
|
for collision in self.get_collides_with():
|
||||||
|
if collision.secondary_sprite.id == 'player':
|
||||||
|
self.level_screen_manager.player_death()
|
||||||
if self.animation_state_counter >= self.danger_time:
|
if self.animation_state_counter >= self.danger_time:
|
||||||
self.set_animation_state('off')
|
self.set_animation_state('off')
|
||||||
self.animation_state_counter = 0
|
self.animation_state_counter = 0
|
||||||
|
@ -37,5 +41,4 @@ class VacuumCleanerElement(StaticLevelElement):
|
||||||
block_type = BLOCK_TYPES[self.tile['name']]
|
block_type = BLOCK_TYPES[self.tile['name']]
|
||||||
self.spritesheet = spritesheet_manager.get_sheet(block_type)
|
self.spritesheet = spritesheet_manager.get_sheet(block_type)
|
||||||
self.set_animation_state('on')
|
self.set_animation_state('on')
|
||||||
|
|
||||||
self.position_scale.position = self.tile['position']
|
self.position_scale.position = self.tile['position']
|
||||||
|
|
|
@ -31,7 +31,7 @@ class LevelScreenManager(ScreenManager):
|
||||||
def tick(self, tick_data: TickData):
|
def tick(self, tick_data: TickData):
|
||||||
if tick_data.key_manager.is_keymap_down(KeyManager.KEY_ESCAPE):
|
if tick_data.key_manager.is_keymap_down(KeyManager.KEY_ESCAPE):
|
||||||
self.main_loop.select_level_selection(self.level.theme)
|
self.main_loop.select_level_selection(self.level.theme)
|
||||||
pygame.time.delay(100)
|
pygame.time.delay(200)
|
||||||
|
|
||||||
def player_death(self):
|
def player_death(self):
|
||||||
self.main_loop.player_death(self.level)
|
self.main_loop.player_death(self.level)
|
||||||
|
|
|
@ -105,7 +105,11 @@ class MainLoop:
|
||||||
|
|
||||||
def player_success(self, level: Level):
|
def player_success(self, level: Level):
|
||||||
next_level = self.parsed_levels_manager.find_next_level(level)
|
next_level = self.parsed_levels_manager.find_next_level(level)
|
||||||
self.select_level(next_level)
|
if next_level is not None:
|
||||||
|
self.select_level(next_level)
|
||||||
|
else:
|
||||||
|
print('WINNNNNN!!')
|
||||||
|
self.select_main_menu()
|
||||||
|
|
||||||
def select_main_menu(self):
|
def select_main_menu(self):
|
||||||
self.set_game_state(self.GAME_STATE_MENU)
|
self.set_game_state(self.GAME_STATE_MENU)
|
||||||
|
|
Loading…
Reference in New Issue