aboutsummaryrefslogtreecommitdiff
path: root/src/game.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/game.py')
-rw-r--r--src/game.py42
1 files changed, 26 insertions, 16 deletions
diff --git a/src/game.py b/src/game.py
index a7efb67..928b665 100644
--- a/src/game.py
+++ b/src/game.py
@@ -1,3 +1,6 @@
+import os
+import sys
+
from direction import DIRECTION
from game_state import GameState
from mode import MODE
@@ -7,8 +10,9 @@ import pygame
class Game():
- def __init__(self):
- self.settings = settings
+ def __init__(self, lolsettings):
+ self.settings = lolsettings
+
def show_gameover_screen(self, screen, game_state, sprites):
font = pygame.font.SysFont(None, 64)
@@ -21,9 +25,9 @@ class Game():
# Blit the "Game Over" text onto the screen
text_rect_1 = game_over_text_1.get_rect(
- center=(WIDTH/2, HEIGHT/2 - 75))
+ center=(WIDTH / 2, HEIGHT / 2 - 75))
text_rect_2 = game_over_text_2.get_rect(
- center=(WIDTH/2, HEIGHT/2))
+ center=(WIDTH / 2, HEIGHT / 2))
screen.blit(game_over_text_1, text_rect_1)
screen.blit(game_over_text_2, text_rect_2)
@@ -44,7 +48,9 @@ class Game():
elif event.type == pygame.KEYDOWN and event.key == pygame.K_q:
game_state.game_over = True
quit_game = True
- break
+ pygame.quit()
+ os.system("python MacPan.py 1")
+ exit()
elif event.type == pygame.QUIT:
game_state.game_over = True
quit_game = True # Set the flag to True to break out of both loops
@@ -59,16 +65,16 @@ class Game():
wining_text_2 = font.render(
"Press R to play again or Q to quit", True, (255, 255, 255))
- text_rect_1 = wining_text_1.get_rect(
- center=(WIDTH/2, HEIGHT/2 - 75))
- text_rect_2 = wining_text_2.get_rect(
- center=(WIDTH/2, HEIGHT/2))
+ # text_rect_1 = wining_text_1.get_rect(
+ # center=(WIDTH / 2, HEIGHT / 2 - 75))
+ # text_rect_2 = wining_text_2.get_rect(
+ # center=(WIDTH / 2, HEIGHT / 2))
# Blit the "Game Over" text onto the screen
text_rect_1 = wining_text_1.get_rect(
- center=(WIDTH/2, HEIGHT/2))
+ center=(WIDTH / 2, HEIGHT / 2))
text_rect_2 = wining_text_2.get_rect(
- center=(WIDTH/2, HEIGHT/2 + 100))
+ center=(WIDTH / 2, HEIGHT / 2 + 100))
screen.blit(wining_text_1, text_rect_1)
screen.blit(wining_text_2, text_rect_2)
@@ -95,7 +101,7 @@ class Game():
break
def reset_game(self, game_state, sprites):
- game_state.reset(sprites)
+ game_state.reset(sprites,self.settings)
def run(self):
# Initialize Pygame
@@ -122,7 +128,7 @@ class Game():
timer_event = pygame.USEREVENT + 1
pygame.time.set_timer(timer_event, 1000 * 10, 1)
- game_state = GameState(sprites)
+ game_state = GameState(sprites, self.settings)
# Set the pacman velocity
dx = 0
@@ -132,11 +138,12 @@ class Game():
counter = 0
clock = pygame.time.Clock()
-
+ pygame.mixer.set_num_channels(5)
pygame.mixer.music.load('../assets/sfx/game_start.wav')
siren_sound = pygame.mixer.Sound('../assets/sfx/siren_1.wav')
- if settings.sound:
+
+ if self.settings.sound:
pygame.mixer.music.play()
siren_sound.play(-1)
@@ -246,11 +253,14 @@ class Game():
if game_state.food == 246:
self.show_wining_screen(screen, game_state, sprites)
-
if not game_state.is_pacman_alive:
+ siren_sound.stop()
+ pygame.mixer.music.load('../assets/sfx/death_1.wav')
+ pygame.mixer.music.play()
self.show_gameover_screen(
screen, game_state, sprites)
game_state.is_pacman_alive = True
+
else:
# Update the screen
pygame.display.flip()