# -*- 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 json
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import tkinter as tk

# Fonction pour afficher un diagramme en bâtons pour les scores d'un niveau donné

def plot_all_scores(data):
    levels = list(data.keys())
    scores = list(data.values())
    
    fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(18, 6))
    fig.suptitle('Scores pour chaque niveau')

    for ax, level, score in zip(axes, levels, scores):
        ax.bar(range(len(score)), score, color='blue')
        ax.set_title(level)
        ax.set_ylabel('Temps')

    plt.tight_layout(rect=[0, 0, 1, 0.96])  # Adjust layout to fit title
    
    # Création d'une fenêtre tkinter pour personnaliser le titre et l'icône
    root = tk.Tk()
    root.withdraw()  # Hide the main window

    canvas = FigureCanvasTkAgg(fig, master=root)
    canvas.draw()
    canvas.get_tk_widget().pack()

    # Changer le titre de la fenêtre
    root.wm_title("Statistiques des Scores")

    # Changer l'icône de la fenêtre
    # Assurez-vous que le chemin vers l'image est correct
    root.iconbitmap('memorypix.ico')

    # Afficher la fenêtre
    root.deiconify()
    root.mainloop()

try:
    with open('scores.json' , 'r') as file:
        data = json.load(file)
        
        plot_all_scores(data)
            
except:
    print("Aucun jeu n'a encore été fait.")