From c6f3ee519c3b407f538ccda28f01511b6d133017 Mon Sep 17 00:00:00 2001 From: elukjanovica Date: Sat, 8 Jun 2024 08:18:49 +0300 Subject: [PATCH] --- main.py | 70 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 38 insertions(+), 32 deletions(-) diff --git a/main.py b/main.py index 1de9591..567f7c1 100644 --- a/main.py +++ b/main.py @@ -1213,12 +1213,15 @@ while run: selected_album = render_albums() if current_mode == "select": - if image_display is None or current_album != selected_album: - selected_image = ImageRender(selected_album) - image_display = True - - selected_image.render(screen) + try: + if image_display is None or current_album != selected_album: + selected_image = ImageRender(selected_album) + image_display = True + selected_image.render(screen) + except (AttributeError, NameError): + pass + event_list = pygame.event.get() for event in event_list: @@ -1231,35 +1234,38 @@ while run: if not non_movable_area.collidepoint(pygame.mouse.get_pos()): can_move = True if current_mode == "select": - clicked_image_rect = ImageRender.image_save(selected_album, current_img) - clicked_image = clicked_image_rect.collidepoint(event.pos) - if clicked_image: - clicked = True - update_puzzle_data(completed, not_shuffled, current_timer_text, current_moves, real_time) - puzzle_data[f'current {puzzle_version}']["selected_image"] = IMAGES_PATH + selected_album + "/" + current_img - with open(PUZZLE_FILE, 'w') as puzzle_file: - puzzle_file.write(json.dumps(puzzle_data)) - completed, not_shuffled, timer_text, current_timer_text, displayed_current_moves, current_moves = load_data() - elapsed_time = 0 - current_moves = 0 - shuffle_pieces(puzzle_pieces) - load_puzzle() - current_mode = "game" - timer_running = False - timer_start_time = 0 - real_time = elapsed_time - total_paused_time = 0 - timer_button.disable() - clicked = None - last_click_time = pygame.time.get_ticks() + try: + clicked_image_rect = ImageRender.image_save(selected_album, current_img) + clicked_image = clicked_image_rect.collidepoint(event.pos) + if clicked_image: + clicked = True + update_puzzle_data(completed, not_shuffled, current_timer_text, current_moves, real_time) + puzzle_data[f'current {puzzle_version}']["selected_image"] = IMAGES_PATH + selected_album + "/" + current_img + with open(PUZZLE_FILE, 'w') as puzzle_file: + puzzle_file.write(json.dumps(puzzle_data)) + completed, not_shuffled, timer_text, current_timer_text, displayed_current_moves, current_moves = load_data() + elapsed_time = 0 + current_moves = 0 + shuffle_pieces(puzzle_pieces) + load_puzzle() + current_mode = "game" + timer_running = False + timer_start_time = 0 + real_time = elapsed_time + total_paused_time = 0 + timer_button.disable() + clicked = None + last_click_time = pygame.time.get_ticks() - if to_left_button.is_hovered(event.pos): - selected_image.update_index(-1) - last_image_switch_time = current_time + if to_left_button.is_hovered(event.pos): + selected_image.update_index(-1) + last_image_switch_time = current_time - if to_right_button.is_hovered(event.pos): - selected_image.update_index(1) - last_image_switch_time = current_time + if to_right_button.is_hovered(event.pos): + selected_image.update_index(1) + last_image_switch_time = current_time + except NameError: + quick_game() elif current_mode == "game": if non_movable_area.collidepoint(event.pos) and not timer_running: