-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathsettings.py
38 lines (32 loc) · 1.47 KB
/
settings.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
import pygame
# settings.py
class Settings:
def __init__(self, window):
self.window = window
self.font = pygame.font.Font(None, 36)
self.options = ["Volume", "Graphics", "Back"]
self.selected_option = 0
def run(self):
running = True
while running:
self.window.fill((0, 0, 0))
for index, option in enumerate(self.options):
color = (255, 0, 0) if index == self.selected_option else (255, 255, 255)
text = self.font.render(option, 1, color)
self.window.blit(text, (50, 50 + index * 40))
pygame.display.flip()
for event in pygame.event.get():
if event.type == pygame.QUIT:
return 'quit'
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_DOWN:
self.selected_option = (self.selected_option + 1) % len(self.options)
elif event.key == pygame.K_UP:
self.selected_option = (self.selected_option - 1) % len(self.options)
elif event.key == pygame.K_RETURN:
if self.options[self.selected_option] == "Back":
return 'back'
else:
# Placeholder for setting adjustment functionality
print(f"Adjusting {self.options[self.selected_option]}")
return None