v0.20
Sauvegarde du 28/04/2020
This commit is contained in:
parent
41d699c6a7
commit
13ab01d678
3 changed files with 131 additions and 179 deletions
276
main.pyw
276
main.pyw
|
@ -48,8 +48,26 @@ class AppClass(): # Classe du "moteur" du jeu
|
||||||
self.MainMenu()
|
self.MainMenu()
|
||||||
self.InfinityMode = False
|
self.InfinityMode = False
|
||||||
|
|
||||||
def MainMenu(self, selected = 0): # Niveau 1
|
def menu(self, selected_name = "", selected = 0, ListKeys = [], func_navigation = None, text = "", func_left = None, func_right = None):
|
||||||
|
prefix = "\u2191 "
|
||||||
|
suffix = " \u2193"
|
||||||
|
|
||||||
|
if selected == 0:
|
||||||
|
func_up = "pass" # Si on est à la première option, ne fait rien
|
||||||
|
prefix = " "
|
||||||
|
else: func_up = lambda: func_navigation(selected_name = selected_name, selected = selected - 1)
|
||||||
|
|
||||||
|
if selected == len(ListKeys) - 1:
|
||||||
|
func_down = "pass" # Si on est à la dernière option, ne fait rien
|
||||||
|
suffix = " "
|
||||||
|
else: func_down = lambda: func_navigation(selected_name = selected_name, selected = selected + 1)
|
||||||
|
|
||||||
|
classModule["display"].write(prefix + str(text) + suffix)
|
||||||
|
|
||||||
|
classModule["simon"].bind(UpCmd = func_up, DownCmd = func_down, LeftCmd = func_left, RightCmd = func_right)
|
||||||
|
|
||||||
|
|
||||||
|
def MainMenu(self, selected = 0, selected_name = None): # Niveau 1
|
||||||
MainMenu_Option = {
|
MainMenu_Option = {
|
||||||
"Lancer" : self.start,
|
"Lancer" : self.start,
|
||||||
"Mode Infini": self.start_infinity_mode,
|
"Mode Infini": self.start_infinity_mode,
|
||||||
|
@ -59,44 +77,34 @@ class AppClass(): # Classe du "moteur" du jeu
|
||||||
"Reinit. Option.": self.confirm_reinit_option,
|
"Reinit. Option.": self.confirm_reinit_option,
|
||||||
"Quitter" : self.leave,
|
"Quitter" : self.leave,
|
||||||
} # On créer un dictionnaire qui associe toute les options proposé à leur fonction respective.
|
} # On créer un dictionnaire qui associe toute les options proposé à leur fonction respective.
|
||||||
MainMenu_Keys = list(MainMenu_Option.keys()) # On créer une liste qui ne contient que les clé du dictionnaire, permettant d'utiliser des index numériques.
|
ListKeys = list(MainMenu_Option.keys()) # On créer une liste qui ne contient que les clé du dictionnaire, permettant d'utiliser des index numériques.
|
||||||
|
|
||||||
prefix = "< "
|
self.menu(
|
||||||
suffix = " >"
|
selected_name = selected_name,
|
||||||
|
selected = selected,
|
||||||
if selected == 0:
|
ListKeys = ListKeys,
|
||||||
func_up = "pass" # Si on est à la première option, ne fait rien
|
func_navigation = self.MainMenu,
|
||||||
prefix = " "
|
text = ListKeys[selected],
|
||||||
|
func_right = MainMenu_Option[ListKeys[selected]],
|
||||||
else: func_up = lambda: self.MainMenu(selected = selected - 1) # sinon, remonte
|
func_left = "pass"
|
||||||
|
)
|
||||||
if selected == len(MainMenu_Keys) - 1:
|
|
||||||
func_down = "pass" # Si on est à la dernière option, ne fait rien
|
|
||||||
suffix = " "
|
|
||||||
|
|
||||||
else: func_down = lambda: self.MainMenu(selected = selected + 1) # sinon, descend
|
|
||||||
|
|
||||||
func_right = MainMenu_Option[MainMenu_Keys[selected]] # Renvoie la fonction associé à l'option selectionné
|
|
||||||
|
|
||||||
classModule["display"].write(prefix + MainMenu_Keys[selected] + suffix) # On affiche le texte sur l'écran
|
|
||||||
|
|
||||||
|
|
||||||
classModule["simon"].bind(UpCmd = func_up, DownCmd = func_down, LeftCmd = "pass", RightCmd = func_right)
|
def pre_start(self, seed = None):
|
||||||
|
|
||||||
|
|
||||||
def pre_start(self):
|
|
||||||
with open("./statistic.pickle", "rb") as File:
|
with open("./statistic.pickle", "rb") as File:
|
||||||
self.StatDico = pickle.load(File)
|
self.StatDico = pickle.load(File)
|
||||||
|
|
||||||
self.seed = random.randint(-10**10, 10**10) # On défini la seed afin de pouvoir la sauvegarder pour l'historique.
|
if seed == None: self.seed = random.randint(-10**10, 10**10) # On défini la seed afin de pouvoir la sauvegarder pour l'historique.
|
||||||
|
else: self.seed = seed
|
||||||
|
random.seed(self.seed)
|
||||||
|
|
||||||
self.mode = "Classique"
|
self.mode = "Classique"
|
||||||
self.start_time = time.time()
|
self.start_time = time.time()
|
||||||
self.mod_des = 0
|
self.mod_des = 0
|
||||||
|
|
||||||
|
def start(self, seed = None):
|
||||||
def start(self):
|
|
||||||
if not(self.InfinityMode):
|
if not(self.InfinityMode):
|
||||||
self.pre_start()
|
self.pre_start(seed = seed)
|
||||||
|
|
||||||
classModule["simon"].bind(UpCmd = "pass", DownCmd = "pass", LeftCmd = "pass", RightCmd = "pass")
|
classModule["simon"].bind(UpCmd = "pass", DownCmd = "pass", LeftCmd = "pass", RightCmd = "pass")
|
||||||
self.Life = self.config["Vie"]["Value"] # On initialise le nombre de vie comme indiqué dans les paramètres
|
self.Life = self.config["Vie"]["Value"] # On initialise le nombre de vie comme indiqué dans les paramètres
|
||||||
|
@ -108,14 +116,14 @@ class AppClass(): # Classe du "moteur" du jeu
|
||||||
# Initilisalisé tout les modules
|
# Initilisalisé tout les modules
|
||||||
# Démmaré un chrono
|
# Démmaré un chrono
|
||||||
|
|
||||||
def start_infinity_mode(self):
|
def start_infinity_mode(self, seed = None):
|
||||||
self.pre_start()
|
self.pre_start(seed = seed)
|
||||||
self.mode = "Infinity"
|
self.mode = "Infinity"
|
||||||
self.InfinityMode = True
|
self.InfinityMode = True
|
||||||
self.start()
|
self.start()
|
||||||
|
|
||||||
|
|
||||||
def history(self, selected = 0): # Menu des fichiers .history
|
def history(self, selected = 0, selected_name = None): # Menu des fichiers .history
|
||||||
ListFileHistory = list(reversed(os.listdir(PATH_HISTORY)))
|
ListFileHistory = list(reversed(os.listdir(PATH_HISTORY)))
|
||||||
if len(ListFileHistory) == 0:
|
if len(ListFileHistory) == 0:
|
||||||
self.MainMenu(selected = 3)
|
self.MainMenu(selected = 3)
|
||||||
|
@ -131,66 +139,49 @@ class AppClass(): # Classe du "moteur" du jeu
|
||||||
selected_name_show.insert(16, ":") # séparation minute / seconde
|
selected_name_show.insert(16, ":") # séparation minute / seconde
|
||||||
selected_name_show = "".join(selected_name_show)
|
selected_name_show = "".join(selected_name_show)
|
||||||
|
|
||||||
prefix = "< "
|
self.menu(
|
||||||
suffix = " >"
|
selected_name = selected_name,
|
||||||
|
selected = selected,
|
||||||
if selected == 0:
|
ListKeys = ListFileHistory,
|
||||||
func_up = "pass" # Si on est à la première option, ne fait rien
|
func_navigation = self.history,
|
||||||
prefix = " "
|
text = selected_name_show,
|
||||||
|
func_right = lambda: self.history_show(selected_name = selected_name),
|
||||||
else: func_up = lambda: self.history(selected = selected - 1) # sinon, remonte
|
|
||||||
|
|
||||||
if selected == len(ListFileHistory) - 1:
|
|
||||||
func_down = "pass" # Si on est à la dernière option, ne fait rien
|
|
||||||
suffix = " "
|
|
||||||
|
|
||||||
else: func_down = lambda: self.history(selected = selected + 1) # sinon, descend
|
|
||||||
|
|
||||||
classModule["display"].write(prefix + selected_name_show + suffix) # On affiche le texte sur l'écran
|
|
||||||
|
|
||||||
func_right = lambda: self.history_show(selected_name = selected_name) # Renvoie la fonction associé à l'option selectionné
|
|
||||||
func_left = lambda: self.MainMenu(selected = 3)
|
func_left = lambda: self.MainMenu(selected = 3)
|
||||||
|
)
|
||||||
classModule["simon"].bind(UpCmd = func_up, DownCmd = func_down, LeftCmd = func_left, RightCmd = func_right)
|
|
||||||
|
|
||||||
|
|
||||||
def history_show(self, selected = 0, selected_name = None): # Menu pour afficher le contenu des fichiers .history
|
def history_show(self, selected = 0, selected_name = None): # Menu pour afficher le contenu des fichiers .history
|
||||||
with open(PATH_HISTORY + selected_name, "rb") as File:
|
with open(PATH_HISTORY + selected_name, "rb") as File:
|
||||||
StatHistory = pickle.load(File)
|
StatHistory = pickle.load(File)
|
||||||
|
|
||||||
StatHistoryKeys = list(StatHistory.keys())
|
ListKeys = list(StatHistory.keys())
|
||||||
|
|
||||||
StatName = StatHistoryKeys[selected]
|
StatName = ListKeys[selected]
|
||||||
StatData = StatHistory[StatName]
|
StatData = StatHistory[StatName]
|
||||||
|
|
||||||
prefix = "< "
|
if StatName == "Paramètre": text = StatName + "\n" + "Droite pour voir"
|
||||||
suffix = " >"
|
else: text = StatName + "\n" + str(StatData)
|
||||||
|
|
||||||
if selected == 0:
|
if StatName == "Paramètre": func_right = lambda: self.history_show_settings(selected = 0, selected_name = selected_name) # Renvoie la fonction associé à l'option selectionné
|
||||||
func_up = "pass" # Si on est à la première option, ne fait rien
|
|
||||||
prefix = " "
|
|
||||||
|
|
||||||
else: func_up = lambda: self.history_show(selected = selected - 1, selected_name = selected_name) # sinon, remonte
|
|
||||||
|
|
||||||
if selected == len(StatHistory) - 1:
|
|
||||||
func_down = "pass" # Si on est à la dernière option, ne fait rien
|
|
||||||
suffix = " "
|
|
||||||
|
|
||||||
|
|
||||||
else: func_down = lambda: self.history_show(selected = selected + 1, selected_name = selected_name) # sinon, descend
|
|
||||||
|
|
||||||
if StatName == "Paramètre": classModule["display"].write(prefix + StatName + "\n" + "Droite pour voir" + suffix)
|
|
||||||
else: classModule["display"].write(prefix + StatName + "\n" + str(StatData) + suffix) # On affiche le texte sur l'écran
|
|
||||||
|
|
||||||
if StatName == "Paramètre": func_right = lambda: self.history_show_settings(selected = 0, selected_name = selected_name) # func_right = lambda: self.modif_settings(selected_name = selected_name) # Renvoie la fonction associé à l'option selectionné
|
|
||||||
elif StatName == "Archiver": func_right = lambda: self.SwitchArchive(selected = selected, selected_name = selected_name)
|
elif StatName == "Archiver": func_right = lambda: self.SwitchArchive(selected = selected, selected_name = selected_name)
|
||||||
elif StatName == "Effacer": func_right = lambda: self.confirm_delete_history(selected_name = selected_name)
|
elif StatName == "Effacer": func_right = lambda: self.confirm_delete_history(selected_name = selected_name)
|
||||||
|
elif StatName == "Seed":
|
||||||
|
if StatHistory["Mode"] == "Classique": func_right = lambda: self.start(seed = StatData)
|
||||||
|
elif StatHistory["Mode"] == "Infinity": func_right = lambda: self.start_infinity_mode(seed = StatData)
|
||||||
|
|
||||||
else: func_right = "pass"
|
else: func_right = "pass"
|
||||||
|
|
||||||
ListFileHistory = list(reversed(os.listdir(PATH_HISTORY)))
|
ListFileHistory = list(reversed(os.listdir(PATH_HISTORY)))
|
||||||
func_left = lambda: self.history(selected = ListFileHistory.index(selected_name))
|
|
||||||
|
|
||||||
classModule["simon"].bind(UpCmd = func_up, DownCmd = func_down, LeftCmd = func_left, RightCmd = func_right)
|
self.menu(
|
||||||
|
selected_name = selected_name,
|
||||||
|
selected = selected,
|
||||||
|
ListKeys = ListKeys,
|
||||||
|
func_navigation = self.history_show,
|
||||||
|
text = text,
|
||||||
|
func_right = func_right,
|
||||||
|
func_left = lambda: self.history(selected = ListFileHistory.index(selected_name))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def confirm_delete_history(self, selected_name):
|
def confirm_delete_history(self, selected_name):
|
||||||
|
@ -227,123 +218,72 @@ class AppClass(): # Classe du "moteur" du jeu
|
||||||
StatHistory = pickle.load(File)
|
StatHistory = pickle.load(File)
|
||||||
|
|
||||||
StatHistorySettings = StatHistory["Paramètre"]
|
StatHistorySettings = StatHistory["Paramètre"]
|
||||||
StatHistorySettingsKeys = list(StatHistorySettings.keys())
|
ListKeys = list(StatHistorySettings.keys())
|
||||||
StatSettingsName = StatHistorySettingsKeys[selected]
|
StatSettingsName = ListKeys[selected]
|
||||||
StatSettingsData = StatHistorySettings[StatSettingsName]["Value"]
|
StatSettingsData = StatHistorySettings[StatSettingsName]["Value"]
|
||||||
|
|
||||||
prefix = "< "
|
self.menu(
|
||||||
suffix = " >"
|
selected_name = selected_name,
|
||||||
|
selected = selected,
|
||||||
if selected == 0:
|
ListKeys = ListKeys,
|
||||||
func_up = "pass" # Si on est à la première option, ne fait rien
|
func_navigation = self.history_show_settings,
|
||||||
prefix = " "
|
text = StatSettingsName + "\n" + str(StatSettingsData),
|
||||||
|
func_right = lambda: "pass",
|
||||||
else: func_up = lambda: self.history_show_settings(selected = selected - 1, selected_name = selected_name) # sinon, remonte
|
|
||||||
|
|
||||||
if selected == len(StatHistorySettings) - 1: # Pour éviter que _Protected s'affiche
|
|
||||||
func_down = "pass" # Si on est à la dernière option, ne fait rien
|
|
||||||
suffix = " "
|
|
||||||
|
|
||||||
else: func_down = lambda: self.history_show_settings(selected = selected + 1, selected_name = selected_name) # sinon, descend
|
|
||||||
|
|
||||||
classModule["display"].write(prefix + StatSettingsName + "\n" + str(StatSettingsData) + suffix) # On affiche le texte sur l'écran
|
|
||||||
|
|
||||||
func_right = lambda: "pass"
|
|
||||||
func_left = lambda: self.history_show(selected = list(StatHistory.keys()).index("Paramètre"), selected_name = selected_name)
|
func_left = lambda: self.history_show(selected = list(StatHistory.keys()).index("Paramètre"), selected_name = selected_name)
|
||||||
|
)
|
||||||
classModule["simon"].bind(UpCmd = func_up, DownCmd = func_down, LeftCmd = func_left, RightCmd = func_right)
|
|
||||||
|
|
||||||
|
|
||||||
|
def statistic(self, selected = 0, selected_name = None):
|
||||||
def statistic(self, selected = 0):
|
|
||||||
with open("./statistic.pickle", "rb") as File:
|
with open("./statistic.pickle", "rb") as File:
|
||||||
StatDico = pickle.load(File)
|
StatDico = pickle.load(File)
|
||||||
|
|
||||||
StatDicoKeys = list(StatDico.keys())
|
ListKeys = list(StatDico.keys())
|
||||||
StatName = StatDicoKeys[selected]
|
StatName = ListKeys[selected]
|
||||||
StatData = StatDico[StatName]
|
StatData = StatDico[StatName]
|
||||||
|
|
||||||
prefix = "< "
|
self.menu(
|
||||||
suffix = " >"
|
selected_name = selected_name,
|
||||||
|
selected = selected,
|
||||||
if selected == 0:
|
ListKeys = ListKeys,
|
||||||
func_up = "pass" # Si on est à la première option, ne fait rien
|
func_navigation = self.statistic,
|
||||||
prefix = " "
|
text = StatName + "\n" + str(StatData),
|
||||||
|
func_right = lambda: "pass",
|
||||||
else: func_up = lambda: self.statistic(selected = selected - 1) # sinon, remonte
|
|
||||||
|
|
||||||
if selected == len(StatDico) - 1: # Pour éviter que _Protected s'affiche
|
|
||||||
func_down = "pass" # Si on est à la dernière option, ne fait rien
|
|
||||||
suffix = " "
|
|
||||||
|
|
||||||
else: func_down = lambda: self.statistic(selected = selected + 1) # sinon, descend
|
|
||||||
|
|
||||||
classModule["display"].write(prefix + StatName + "\n" + str(StatData) + suffix) # On affiche le texte sur l'écran
|
|
||||||
|
|
||||||
func_right = lambda: "pass"
|
|
||||||
func_left = lambda: self.MainMenu(selected = 4)
|
func_left = lambda: self.MainMenu(selected = 4)
|
||||||
|
)
|
||||||
classModule["simon"].bind(UpCmd = func_up, DownCmd = func_down, LeftCmd = func_left, RightCmd = func_right)
|
|
||||||
|
|
||||||
|
|
||||||
|
def settings(self, selected = 0, selected_name = None): # selected_name n'est pas utilisé, mais évite une erreur
|
||||||
def settings(self, selected = 0):
|
|
||||||
# On créer un dictionnaire qui associe toute les options proposé à leur fonction respective.
|
# On créer un dictionnaire qui associe toute les options proposé à leur fonction respective.
|
||||||
SettingsMenu_Keys = list(self.config.keys()) # On créer une liste qui ne contient que les clé du dictionnaire, permettant d'utiliser des index numériques.
|
ListKeys = list(self.config.keys()) # On créer une liste qui ne contient que les clé du dictionnaire, permettant d'utiliser des index numériques.
|
||||||
selected_name = SettingsMenu_Keys[selected]
|
selected_name = ListKeys[selected]
|
||||||
|
|
||||||
prefix = "< "
|
|
||||||
suffix = " >"
|
|
||||||
|
|
||||||
if selected == 0:
|
|
||||||
func_up = "pass" # Si on est à la première option, ne fait rien
|
|
||||||
prefix = " "
|
|
||||||
|
|
||||||
else: func_up = lambda: self.settings(selected = selected - 1) # sinon, remonte
|
|
||||||
|
|
||||||
if selected == len(SettingsMenu_Keys) - 1:
|
|
||||||
func_down = "pass" # Si on est à la dernière option, ne fait rien
|
|
||||||
suffix = " "
|
|
||||||
|
|
||||||
else: func_down = lambda: self.settings(selected = selected + 1) # sinon, descend
|
|
||||||
|
|
||||||
classModule["display"].write(prefix + selected_name + suffix) # On affiche le texte sur l'écran
|
|
||||||
|
|
||||||
selected_value = self.config[selected_name]["Available"].index(self.config[selected_name]["Value"]) # Valeur de l'index de la valeur déjà défini dans les paramètres
|
selected_value = self.config[selected_name]["Available"].index(self.config[selected_name]["Value"]) # Valeur de l'index de la valeur déjà défini dans les paramètres
|
||||||
func_right = lambda: self.modif_settings(selected_name = selected_name, selected = selected_value) # Renvoie la fonction associé à l'option selectionné
|
|
||||||
func_left = lambda: self.MainMenu(selected = 2)
|
|
||||||
|
|
||||||
classModule["simon"].bind(UpCmd = func_up, DownCmd = func_down, LeftCmd = func_left, RightCmd = func_right)
|
self.menu(
|
||||||
|
selected_name = selected_name,
|
||||||
|
selected = selected,
|
||||||
|
ListKeys = ListKeys,
|
||||||
|
func_navigation = self.settings,
|
||||||
|
text = selected_name,
|
||||||
|
func_right = lambda: self.modif_settings(selected_name = selected_name, selected = selected_value),
|
||||||
|
func_left = lambda: self.MainMenu(selected = 2)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def modif_settings(self, selected_name, selected = 0): # selected_name -> nom de la variable que l'on change # selected -> valeur actuellement sélectionné
|
def modif_settings(self, selected_name, selected = 0): # selected_name -> nom de la variable que l'on change # selected -> valeur actuellement sélectionné
|
||||||
# On créer une liste qui ne contient que les clé du dictionnaire, permettant d'utiliser des index numériques.
|
# On créer une liste qui ne contient que les clé du dictionnaire, permettant d'utiliser des index numériques.
|
||||||
ModifSettingsMenu_Keys = self.config[selected_name]["Available"]
|
ListKeys = self.config[selected_name]["Available"]
|
||||||
|
|
||||||
prefix = "< "
|
self.menu(
|
||||||
suffix = " >"
|
selected_name = selected_name,
|
||||||
|
selected = selected,
|
||||||
|
ListKeys = ListKeys,
|
||||||
|
func_navigation = self.modif_settings,
|
||||||
|
text = str(ListKeys[selected]),
|
||||||
|
func_right = lambda: self.save_settings(selected_name = selected_name, selected = ListKeys[selected]),
|
||||||
|
func_left = lambda: self.settings(selected = list(self.config.keys()).index(selected_name))
|
||||||
|
) # On renvoie le joueur sur le menu de l'option qu'il est en train d'éditer
|
||||||
|
|
||||||
if selected == 0:
|
|
||||||
func_up = "pass" # Si on est à la première option, ne fait rien
|
|
||||||
prefix = " "
|
|
||||||
|
|
||||||
else: func_up = lambda: self.modif_settings(selected_name = selected_name, selected = selected - 1)
|
|
||||||
|
|
||||||
if selected == len(ModifSettingsMenu_Keys) - 1:
|
|
||||||
func_down = "pass" # Si on est à la dernière option, ne fait rien
|
|
||||||
suffix = " "
|
|
||||||
|
|
||||||
else: func_down = lambda: self.modif_settings(selected_name = selected_name, selected = selected + 1) # sinon, descend
|
|
||||||
|
|
||||||
classModule["display"].write(prefix + str(ModifSettingsMenu_Keys[selected]) + suffix) # On affiche le texte sur l'écran
|
|
||||||
|
|
||||||
|
|
||||||
func_right = lambda: self.save_settings(selected_name = selected_name, selected = ModifSettingsMenu_Keys[selected])
|
|
||||||
func_left = lambda: self.settings(selected = list(self.config.keys()).index(selected_name)) # On renvoie le joueur sur le menu de l'option qu'il est en train d'éditer
|
|
||||||
|
|
||||||
classModule["simon"].bind(UpCmd = func_up, DownCmd = func_down, LeftCmd = func_left, RightCmd = func_right)
|
|
||||||
|
|
||||||
# + Bonus : afficher par défaut la valeur sur laquel le jeu est paramétrer
|
|
||||||
|
|
||||||
def save_settings(self, selected_name, selected):
|
def save_settings(self, selected_name, selected):
|
||||||
self.config[selected_name]["Value"] = selected
|
self.config[selected_name]["Value"] = selected
|
||||||
|
|
|
@ -140,13 +140,13 @@ class display():
|
||||||
############################## STATISTIQUE ##############################
|
############################## STATISTIQUE ##############################
|
||||||
App.StatDico["Mod. Dés. Total"] += App.mod_des
|
App.StatDico["Mod. Dés. Total"] += App.mod_des
|
||||||
total_min, total_sec = App.StatDico["Temps de jeu"].split(":")
|
total_min, total_sec = App.StatDico["Temps de jeu"].split(":")
|
||||||
App.StatDico["Temps de jeu"] = "%02i:%02i" % (int(total_min) + duration_min, int(total_sec) + duration_sec)
|
total_min, total_sec = int(total_min), int(total_sec) # On converti les valeurs en nombre
|
||||||
total_min, total_sec = App.StatDico["Temps de jeu"].split(":") # On actualise ces variables car nécéssaire pour d'autre stat
|
total_sec += int(total_min * 60 + duration) # On converti tout en seconde
|
||||||
|
total_min, total_sec = total_sec // 60, total_sec % 60 # On recalcul pour avoir les minutes et les secondes. Permet d'éviter de déborder sur les secondes (avoir 00:65 par exemple)
|
||||||
|
App.StatDico["Temps de jeu"] = "%02i:%02i" % (total_min, total_sec)
|
||||||
|
|
||||||
total_Mod_Des_min = int(App.StatDico["Mod. Des. / min."].split("/")[0])
|
total_Mod_Des_min = int(App.StatDico["Mod. Des. / min."].split("/")[0])
|
||||||
App.StatDico["Mod. Des. / min."] = "%i/min" % round(App.StatDico["Mod. Dés. Total"] / (int(total_min) + (int(total_sec) / 60)), 1)
|
App.StatDico["Mod. Des. / min."] = "%i/min" % round(App.StatDico["Mod. Dés. Total"] / (total_min + (total_sec / 60)), 1)
|
||||||
|
|
||||||
|
|
||||||
App.StatDico["Partie total"] += 1
|
App.StatDico["Partie total"] += 1
|
||||||
|
|
||||||
|
@ -158,8 +158,8 @@ class display():
|
||||||
if self.Win == "Gagné": casual_win += 1
|
if self.Win == "Gagné": casual_win += 1
|
||||||
else: casual_lose += 1
|
else: casual_lose += 1
|
||||||
|
|
||||||
App.StatDico["Classique gagné"] = "%i (%i %%)" % (casual_win, int((casual_win / App.StatDico["Partie total"]) * 100))
|
App.StatDico["Classique gagné"] = "%i (%i %%)" % (casual_win, int((casual_win / App.StatDico["Partie Classique"]) * 100))
|
||||||
App.StatDico["Classique perdu"] = "%i (%i %%)" % (casual_lose, int((casual_lose / App.StatDico["Partie total"]) * 100))
|
App.StatDico["Classique perdu"] = "%i (%i %%)" % (casual_lose, int((casual_lose / App.StatDico["Partie Classique"]) * 100))
|
||||||
|
|
||||||
elif App.mode == "Infinity":
|
elif App.mode == "Infinity":
|
||||||
App.StatDico["Partie Infini"] += 1
|
App.StatDico["Partie Infini"] += 1
|
||||||
|
|
|
@ -53,6 +53,18 @@ class simon():
|
||||||
self.dico_but["Right"].config(command = RightCmd)
|
self.dico_but["Right"].config(command = RightCmd)
|
||||||
self.dico_but["Down"].config(command = DownCmd)
|
self.dico_but["Down"].config(command = DownCmd)
|
||||||
|
|
||||||
|
if UpCmd != "pass": Fen.bind("<Up>", lambda x: UpCmd())
|
||||||
|
else: Fen.unbind("<Up>")
|
||||||
|
|
||||||
|
if LeftCmd != "pass": Fen.bind("<Left>", lambda x: LeftCmd())
|
||||||
|
else: Fen.unbind("<Left>")
|
||||||
|
|
||||||
|
if RightCmd != "pass": Fen.bind("<Right>", lambda x: RightCmd())
|
||||||
|
else: Fen.unbind("<Right>")
|
||||||
|
|
||||||
|
if DownCmd != "pass": Fen.bind("<Down>", lambda x: DownCmd())
|
||||||
|
else: Fen.unbind("<Down>")
|
||||||
|
|
||||||
|
|
||||||
def reset_color(self):
|
def reset_color(self):
|
||||||
self.red_off_color = "indianred" # Couleur défini, peut être modifier par le mode daltonien
|
self.red_off_color = "indianred" # Couleur défini, peut être modifier par le mode daltonien
|
||||||
|
|
Loading…
Reference in a new issue