main
parent
9694a271d6
commit
f7212f320d
60
main.py
60
main.py
|
@ -417,13 +417,11 @@ def quick_game():
|
|||
|
||||
|
||||
def render_albums():
|
||||
global current_mode, album_name, delete_mode, accepted
|
||||
global current_mode, album_name, delete_mode, accepted, adjusted_pos
|
||||
current_hovered_index = -1
|
||||
size_to_y = {"small": 25, "medium": 35, "big": 65}
|
||||
y = size_to_y[current_size]
|
||||
|
||||
albums_to_delete = []
|
||||
checked = {}
|
||||
adjusted_pos = None
|
||||
|
||||
for hover_index, album in enumerate(list(storage["albums"].keys())):
|
||||
render_text(album, (size[1], y), screen)
|
||||
|
@ -437,16 +435,18 @@ def render_albums():
|
|||
return album
|
||||
|
||||
if delete_mode:
|
||||
if album not in checked:
|
||||
checked[album] = False
|
||||
delete_albums_mode(album, albums_to_delete, checked, y, album_rect, current_hovered_index)
|
||||
albums_to_delete = delete_albums_mode(album, y, album_rect, current_hovered_index)
|
||||
if adjusted_pos:
|
||||
album_hoverrr = album_rect.collidepoint(adjusted_pos)
|
||||
index = update_hover_index(current_hovered_index, album_hoverrr, hover_index)
|
||||
bebra = list(storage["albums"].keys())[index]
|
||||
|
||||
y += cons[0]
|
||||
|
||||
if delete_mode and albums_to_delete:
|
||||
accepted = True
|
||||
if accepted and albums_to_delete:
|
||||
delete_albums(albums_to_delete)
|
||||
delete_mode = False
|
||||
accepted = False
|
||||
|
||||
if not delete_mode:
|
||||
draw_arrow(current_hovered_index)
|
||||
|
@ -473,7 +473,9 @@ def handle_album_interaction(album_hover, album):
|
|||
return None
|
||||
|
||||
|
||||
def delete_albums_mode(album, albums_to_delete, checked, y, album_rect, current_hovered_index):
|
||||
def delete_albums_mode(album, y, album_rect, current_hovered_index):
|
||||
global adjusted_pos
|
||||
albums_to_delete = []
|
||||
checkbox_rect = pygame.Rect(cons[2], y + cons[3], checkbox[1], checkbox[1])
|
||||
checkbox_hover = checkbox_rect.collidepoint(pygame.mouse.get_pos())
|
||||
|
||||
|
@ -481,33 +483,32 @@ def delete_albums_mode(album, albums_to_delete, checked, y, album_rect, current_
|
|||
pygame.time.wait(100)
|
||||
|
||||
cursor_pos = pygame.mouse.get_pos()
|
||||
adjusted_pos = (cursor_pos[0] + 30, cursor_pos[1])
|
||||
print("Adjusted Pos:", adjusted_pos)
|
||||
print("Album Rect:", album_rect)
|
||||
adjusted_pos = (cursor_pos[0] + 20, cursor_pos[1])
|
||||
#print("Adjusted Pos:", adjusted_pos, current_hovered_index)
|
||||
#print("Album Rect:", album_rect)
|
||||
|
||||
if current_hovered_index is not None and current_hovered_index >= 0:
|
||||
hovered_album = list(storage["albums"].keys())[current_hovered_index]
|
||||
if hovered_album == album:
|
||||
print("Checkbox Clicked for Album:", album)
|
||||
if album_rect.collidepoint(adjusted_pos):
|
||||
#print(album)
|
||||
album = list(storage["albums"].keys())[current_hovered_index]
|
||||
#print("Checkbox Clicked for Album:", album)
|
||||
|
||||
checked[album] = not checked[album]
|
||||
|
||||
if checked[album]:
|
||||
if album not in albums_to_delete:
|
||||
albums_to_delete.append(album)
|
||||
print("Album added to delete:", album)
|
||||
#print(albums_to_delete, album)
|
||||
else:
|
||||
if album in albums_to_delete:
|
||||
albums_to_delete.remove(album)
|
||||
print("Album removed from delete:", album)
|
||||
#print("Album removed from delete:", album)
|
||||
|
||||
#print(albums_to_delete, adjusted_pos)
|
||||
return albums_to_delete
|
||||
|
||||
checkbox_image = Image((checkbox[0], 0), (cons[2], y + cons[3]), (checkbox[1], checkbox[1]))
|
||||
if checked[album]:
|
||||
if album in albums_to_delete:
|
||||
checkbox_image = Image((checkbox[0] + checkbox[1] + 3, 0), (cons[2], y + cons[3]), (checkbox[1], checkbox[1]))
|
||||
checkbox_image.draw(screen)
|
||||
|
||||
|
||||
|
||||
def delete_albums(albums_to_delete):
|
||||
for album in albums_to_delete:
|
||||
if album in storage["albums"]:
|
||||
|
@ -536,7 +537,6 @@ def album_creation(y):
|
|||
mouse_clicked = pygame.mouse.get_pressed()[0]
|
||||
keys = pygame.key.get_pressed()
|
||||
if (user_text and mouse_clicked) or (user_text and keys[pygame.K_RETURN]):
|
||||
user_text = user_text.strip()
|
||||
if user_text not in storage["albums"]:
|
||||
storage["albums"][user_text] = {}
|
||||
with open(DATA_FILE, 'w') as data_file:
|
||||
|
@ -1108,14 +1108,10 @@ def button_check(pressed_button, run, current_mode, timer_running, delete_mode):
|
|||
current_mode = "game"
|
||||
elif pressed_button == delete_button:
|
||||
if current_mode == "menu":
|
||||
if not delete_mode:
|
||||
if delete_mode is False:
|
||||
delete_mode = True
|
||||
accepted = False
|
||||
elif not accepted:
|
||||
elif accepted is False:
|
||||
accepted = True
|
||||
else:
|
||||
delete_mode = False
|
||||
accepted = False
|
||||
elif pressed_button == new_button:
|
||||
if current_mode == "menu":
|
||||
typing = True
|
||||
|
@ -1312,7 +1308,7 @@ while run:
|
|||
|
||||
if event.key == pygame.K_BACKSPACE:
|
||||
user_text = user_text[0:-1]
|
||||
elif len(user_text) < 15:
|
||||
elif len(user_text) < 15 and event.key != pygame.K_RETURN:
|
||||
user_text += event.unicode
|
||||
|
||||
if current_mode == "game":
|
||||
|
|
|
@ -120,6 +120,10 @@
|
|||
"00:00:00",
|
||||
0
|
||||
]
|
||||
}
|
||||
},
|
||||
"2": {},
|
||||
"3": {},
|
||||
"4": {},
|
||||
"5": {}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue