import pygame, sys
from button import Button
import pygame
from random import randint
import math

pygame.init()

SCREEN = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("Rouglite")

BG = pygame.image.load("assets/Background.png")
pygame.mixer.music.load('assets/Pixel 7.mp3')


# Воспроизведение музыки
pygame.mixer.music.play()

# Добавьте какую-то задержку, чтобы музыка воспроизводилась в течение некоторого времени
pygame.time.delay(5000)  # Например, 5000 миллисекунд (5 секунд)

def get_font(size): # Returns Press-Start-2P in the desired size
    return pygame.font.Font("assets/font.ttf", size)

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()