-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathold.py
87 lines (71 loc) · 2.62 KB
/
old.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import pygame
import pygame_menu
import random
from player import Player
from enemies import Enemy
from bullet import Bullet
from ui import UI
from game_logic import update_game
# Dimensioni della finestra di gioco
WIDTH = 800
HEIGHT = 600
# Inizializzazione di Pygame
pygame.init()
# Classe per il gioco
class Game:
def __init__(self):
self.screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Bullet Hell")
self.clock = pygame.time.Clock()
self.WIDTH = WIDTH
self.HEIGHT = HEIGHT
self.all_sprites = pygame.sprite.Group()
self.enemies = pygame.sprite.Group()
self.ally_bullets = pygame.sprite.Group()
self.enemy_bullets = pygame.sprite.Group()
self.player = Player(WIDTH, HEIGHT,10)
self.all_sprites.add(self.player)
self.ui = UI(WIDTH, HEIGHT)
self.background_image = pygame.image.load("img/Background.png")
# Generazione iniziale di nemici
for _ in range(8):
enemy = Enemy(WIDTH, HEIGHT, self.all_sprites, self.enemy_bullets)
self.all_sprites.add(enemy)
self.enemies.add(enemy)
# Variabili di stato del gioco
self.game_over = False
self.paused = False
self.score = 0
# Creazione del menu di Game Over
self.game_over_menu = pygame_menu.Menu(width=400, height=600, title='Game Over', theme=pygame_menu.themes.THEME_BLUE)
self.game_over_menu.add.button('Restart', self.restart_game)
self.game_over_menu.add.button('Quit', self.quit_game)
self.game_over_menu.add.button('Resume', self.resume_game)
self.game_over_menu.set_onclose(self.handle_quit_event)
def run(self):
while True:
events = pygame.event.get()
update_game(self, events)
self.clock.tick(60)
def restart_game(self, widget=None):
self.all_sprites.empty()
self.enemies.empty()
self.ally_bullets.empty()
self.enemy_bullets.empty()
self.player = Player(self.WIDTH, self.HEIGHT)
self.all_sprites.add(self.player)
self.game_over = False
self.score = 0
for _ in range(8):
enemy = Enemy(self.WIDTH, self.HEIGHT, self.all_sprites, self.enemy_bullets)
self.all_sprites.add(enemy)
self.enemies.add(enemy)
self.game_over_menu.disable()
def quit_game(self):
pygame.quit()
quit()
def handle_quit_event(self):
pygame.event.post(pygame.event.Event(pygame.QUIT))
def resume_game(self):
self.paused = False
self.game_over_menu.disable()