Added optional end of game cut scene. Make sure to specify utf-8 encoding for python files to work with pyinstaller.
This commit is contained in:
		| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| from libstormgames import * | ||||
| from src.object import Object | ||||
| import random | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| import random | ||||
| from libstormgames import * | ||||
| from src.item_types import ItemProperties | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| from libstormgames import * | ||||
| from src.object import Object | ||||
| from src.powerup import PowerUp | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| import os | ||||
| import time | ||||
| import pygame | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| from libstormgames import * | ||||
| from src.object import Object | ||||
| from src.powerup import PowerUp | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| import random | ||||
| from enum import Enum, auto | ||||
|  | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| import pygame | ||||
| import random | ||||
| from libstormgames import * | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| from libstormgames import * | ||||
|  | ||||
| class Object: | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| import pygame | ||||
| from libstormgames import * | ||||
| from src.stat_tracker import StatTracker | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| from libstormgames import * | ||||
| from src.object import Object | ||||
| from src.weapon import Weapon | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| class Projectile: | ||||
|     def __init__(self, projectile_type, start_x, direction): | ||||
|         self.type = projectile_type | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| from libstormgames import * | ||||
| from src.object import Object | ||||
|  | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| class StatTracker: | ||||
|     def __init__(self): | ||||
|         # Base dictionary for tracking stats | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| class Weapon: | ||||
|     def __init__(self, name, damage, range, attackSound, hitSound, cooldown=500, attackDuration=200): | ||||
|         self.name = name | ||||
|   | ||||
| @@ -1,4 +1,6 @@ | ||||
| #!/usr/bin/env python3 | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| import json | ||||
| import os | ||||
| from libstormgames import * | ||||
| @@ -56,7 +58,6 @@ class WickedQuest: | ||||
|          | ||||
|             return True | ||||
|         except FileNotFoundError: | ||||
|             speak("Level not found") | ||||
|             return False | ||||
|  | ||||
|     def handle_input(self): | ||||
| @@ -272,7 +273,16 @@ class WickedQuest: | ||||
|                     # Game complete - use gameStartTime for total | ||||
|                     totalTime = pygame.time.get_ticks() - self.gameStartTime | ||||
|                     if self.player.xPos >= self.currentLevel.rightBoundary: | ||||
|                         messagebox("Congratulations! You've completed all available levels!") | ||||
|                         # Check for end of game scene | ||||
|                         gamePath = os.path.dirname(get_level_path(self.currentGame, 1)) | ||||
|                         for ext in ['.wav', '.ogg', '.mp3']: | ||||
|                             endFile = os.path.join(gamePath, f'end{ext}') | ||||
|                             if os.path.exists(endFile): | ||||
|                                 self.sounds['end_scene'] = pygame.mixer.Sound(endFile) | ||||
|                                 cut_scene(self.sounds, 'end_scene') | ||||
|                                 break | ||||
|                         else: | ||||
|                             messagebox("Congratulations! You've completed all available levels!") | ||||
|  | ||||
|                     self.display_game_over(totalTime) | ||||
|                     return | ||||
|   | ||||
		Reference in New Issue
	
	Block a user