import pygame import sys from button import Button # Assuming you have a Button class defined in a separate file from random import randint import math pygame.init() SCREEN_WIDTH = 1280 SCREEN_HEIGHT = 720 SCREEN = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) pygame.display.set_caption("Rouglite") # Loading images and music BG = pygame.image.load("assets/Background.png") LD = pygame.transform.scale(pygame.image.load("Sprites/loading.png").convert(), (SCREEN_WIDTH, SCREEN_HEIGHT)) pygame.mixer.music.load('assets/Pixel 7.mp3') # Define fonts def get_font(size): # Returns Press-Start-2P in the desired size return pygame.font.Font("assets/font.ttf", size) def show_loading_screen(): start_time = pygame.time.get_ticks() loading_image_rect = LD.get_rect(center=(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)) pygame.mouse.set_visible(False) # Hide the cursor while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() SCREEN.fill((0, 0, 0)) SCREEN.blit(LD, loading_image_rect) # Display the loading image pygame.display.update() if pygame.time.get_ticks() - start_time >= 5000: pygame.mouse.set_visible(True) # Show the cursor return # Display loading screen for 5 seconds before showing main menu show_loading_screen() def play(): while True: pygame.time.delay(500) import Game_V2 # Game_V2 vietāpievienojiet failu ar pabeigto spēli def options(): volume = 1 # Initial volume slider_height = 20 # Slider height while True: SCREEN.blit(BG, (0, 0)) OPTIONS_MOUSE_POS = pygame.mouse.get_pos() OPTIONS_TEXT = get_font(45).render("Change Volume", True, "white") OPTIONS_RECT = OPTIONS_TEXT.get_rect(center=(640, 260)) SCREEN.blit(OPTIONS_TEXT, OPTIONS_RECT) # Volume slider pygame.draw.rect(SCREEN, "gray", (500, 330, 200, slider_height)) # Slider background # Calculate slider width based on volume level slider_width = int(volume * 200) slider_color = (62, 74, 49) # Green color if volume < 1: slider_color = (0, 255 * (1 - volume), 0) # Decrease green component based on volume level pygame.draw.rect(SCREEN, slider_color, (500, 330, slider_width, slider_height)) # Actual slider # Draw "+" and "-" symbols plus_text = get_font(30).render("+", True, "#5c3938") minus_text = get_font(30).render("-", True, "#5c3938") plus_rect = plus_text.get_rect(center=(715, 330 + slider_height // 2)) minus_rect = minus_text.get_rect(center=(485, 330 + slider_height // 2)) SCREEN.blit(plus_text, plus_rect) SCREEN.blit(minus_text, minus_rect) # BACK button OPTIONS_BACK = Button(image=None, pos=(640, 460), text_input="BACK", font=get_font(75), base_color="#5c3938", hovering_color="White") OPTIONS_BACK.changeColor(OPTIONS_MOUSE_POS) OPTIONS_BACK.update(SCREEN) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if event.type == pygame.MOUSEBUTTONDOWN: if OPTIONS_BACK.checkForInput(OPTIONS_MOUSE_POS): main_menu() # Check if mouse click is on minus symbol if minus_rect.collidepoint(event.pos): volume -= 0.1 if volume < 0: volume = 0 pygame.mixer.music.set_volume(volume) # Set the volume of the music # Check if mouse click is on plus symbol if plus_rect.collidepoint(event.pos): volume += 0.1 if volume > 1: volume = 1 pygame.mixer.music.set_volume(volume) # Set the volume of the music pygame.display.update() def main_menu(): while True: SCREEN.blit(BG, (0, 0)) MENU_MOUSE_POS = pygame.mouse.get_pos() MENU_TEXT = get_font(100).render("Roguelite", True, "white") MENU_RECT = MENU_TEXT.get_rect(center=(640, 100)) PLAY_BUTTON = Button(image=pygame.image.load("assets/Play Rect.png"), pos=(640, 250), text_input="PLAY", font=get_font(75), base_color="#5c3938", hovering_color="White") OPTIONS_BUTTON = Button(image=pygame.image.load("assets/Options Rect.png"), pos=(640, 400), text_input="OPTIONS", font=get_font(75), base_color="#5c3938", hovering_color="White") QUIT_BUTTON = Button(image=pygame.image.load("assets/Quit Rect.png"), pos=(640, 550), text_input="QUIT", font=get_font(75), base_color="#5c3938", hovering_color="White") SCREEN.blit(MENU_TEXT, MENU_RECT) for button in [PLAY_BUTTON, OPTIONS_BUTTON, QUIT_BUTTON]: button.changeColor(MENU_MOUSE_POS) button.update(SCREEN) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if event.type == pygame.MOUSEBUTTONDOWN: if PLAY_BUTTON.checkForInput(MENU_MOUSE_POS): play() if OPTIONS_BUTTON.checkForInput(MENU_MOUSE_POS): options() if QUIT_BUTTON.checkForInput(MENU_MOUSE_POS): pygame.quit() sys.exit() pygame.display.update() main_menu()