# -*- coding: utf-8 -*-
"""
Created on Thu May 23 10:43:04 2024

@author: Stéphane Pasquet
@url : https://www.mathweb.fr/euclide/un-jeu-de-memoire/
"""

import pygame

class Menu:
    def __init__(self):
        # Initialisation de Pygame
        pygame.init()

        # Paramètres de la fenêtre
        self.window_width = 300
        self.window_height = 270

        # Couleurs
        self.white = (230, 230, 230)
        self.black = (0, 0, 0)
        self.gray = (200, 200, 200)

        # Initialisation de la fenêtre
        self.window = pygame.display.set_mode((self.window_width, self.window_height))
        self.iconwindow = pygame.image.load("memorypix.ico")
        pygame.display.set_icon(self.iconwindow)
        pygame.display.set_caption("Menu")

        # Police
        self.font = pygame.font.Font(None, 36)

        # Boutons de sélection du niveau
        self.levels = ["Facile", "Moyen", "Difficile"]
        self.buttons = []

        for i, level in enumerate(self.levels):
            rect = pygame.Rect(50, 10 + i * 80, 200, 50)
            self.buttons.append((rect, level))

        self.selected_level = None

    def draw_buttons(self):
        self.window.fill(self.white)
        for rect, level in self.buttons:
            pygame.draw.rect(self.window, self.gray, rect)
            text = self.font.render(level, True, self.black)
            text_rect = text.get_rect(center=rect.center)
            self.window.blit(text, text_rect)
        pygame.display.update()

    def run(self):
        running = True
        while running:
            self.draw_buttons()
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    running = False
                elif event.type == pygame.MOUSEBUTTONDOWN:
                    for rect, level in self.buttons:
                        if rect.collidepoint(event.pos):
                            self.selected_level = level
                            running = False

        pygame.quit()
        return self.selected_level