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