# -*- coding: utf-8 -*-
"""
Created on Thu May 23 14:50:42 2024

@author: Stéphane Pasquet
@url : https://www.mathweb.fr/euclide/un-jeu-de-memoire/
"""

import pygame
import json

class Chrono:
    def __init__(self, timer, level):
        # Initialisation de Pygame
        pygame.init()
        # Couleurs
        self.white = (230, 230, 230)
        self.black = (0, 0, 0)
        self.gray = (200, 200, 200)
        # autres paramètres
        self.timer = timer
        self.level = level
        self.window_width = 300
        self.window_height = 300
        self.window = pygame.display.set_mode((self.window_width, self.window_height))
        pygame.display.set_caption("Temps écoulé")
        self.iconwindow = pygame.image.load("memorypix.ico")
        pygame.display.set_icon(self.iconwindow)
        self.font = pygame.font.Font(None, 36)
        #sauvegarde du temps et du niveau
        self.save()
        
    def save(self):
        try:
            with open('scores.json' , 'r') as file:
                data = json.load(file)
            if self.level in data:
                data[self.level].append(self.timer)
            else:
                data[self.level] = [self.timer]
                
            with open('scores.json' , 'w') as file:
                json.dump(data , file)
                    
        except:
            data = { self.level  : [self.timer] }
            with open('scores.json' , 'w') as file:
                json.dump(data , file)
        
    def draw_buttons(self):
         self.window.fill(self.white)
         
         rect = pygame.Rect(50, 10 , 200, 50)
         pygame.draw.rect(self.window, self.white, rect)
         text = self.font.render('Jeu terminé en', True, self.black)
         text_rect = text.get_rect(center=rect.center)
         self.window.blit(text, text_rect)
         
         rect = pygame.Rect(50, 90, 200, 50)
         pygame.draw.rect(self.window, self.gray, rect)
         text = self.font.render(f'{self.timer} secondes', True, self.black)
         text_rect = text.get_rect(center=rect.center)
         self.window.blit(text, text_rect)
         
         rect = pygame.Rect(50, 170, 200, 50)
         pygame.draw.rect(self.window, self.black, rect)
         text = self.font.render('Rejouer', True, self.white)
         text_rect = text.get_rect(center=rect.center)
         self.window.blit(text, text_rect)
         
         pygame.display.update()

    def run(self):
         running = True
         self.response = False
         while running:
             self.draw_buttons()
             for event in pygame.event.get():
                 if event.type == pygame.QUIT:
                     running = False
                 elif event.type == pygame.MOUSEBUTTONDOWN:
                     rect = pygame.Rect(50, 170, 200, 50)
                     if rect.collidepoint(event.pos):
                         self.response = True
                         running = False

         pygame.quit()
         return self.response