diff --git a/config.json b/config.json index 1797133..bad191c 100644 --- a/config.json +++ b/config.json @@ -1,3 +1,6 @@ { - + "Difficulté": {"Value": "Normal", "Available": ["Facile", "Normal", "Difficile"]}, + "Vie": {"Value": 3, "Available": [1,2,3,4,5,6,7,8,9,10]}, + "Temps": {"Value": 180, "Available": [30,45,60,75,90,105,120,135,150,165,180,195,210,225,240,255,270,285,300,315,330,345,360,375,390,405,420,435,450,465,480,495,510,525,540,555,570,585,600]}, + "Bonus de temps": {"Value": 30, "Available": [0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180]} } diff --git a/main.pyw b/main.pyw index 58c0bb7..61f67ea 100644 --- a/main.pyw +++ b/main.pyw @@ -16,11 +16,44 @@ for file in os.listdir(PATH_MODULE): # On cherche les modules dans leur dossier class AppClass(): # Classe du "moteur" du jeu def __init__(self): # Initialisation - classModule["display"].write("lancer une partie") - def navigation(key): + self.MainMenu() + + + def MainMenu(self, selected = 0): # Niveau 1 + MainMenu_Option = { + "Lancer" : self.start, + "Option" : self.settings, + "Quitter" : self.leave, + } # 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. + + classModule["display"].write(MainMenu_Keys[selected]) # On affiche le texte sur l'écran + + if selected == 0: func_up = "pass" # Si on est à la première option, ne fait rien + else: func_up = lambda: self.MainMenu(selected = selected - 1) # sinon, remonte + + if selected == len(MainMenu_Keys) - 1: func_down = "pass" # Si on est à la dernière option, ne fait rien + 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["simon"].bind(UpCmd = func_up, DownCmd = func_down, LeftCmd = "pass", RightCmd = func_right) + + + + def start(self): pass - # Navigation avec les touches du simon dans le menu principal + # Code pour démarrer une partie + + def settings(self): + classModule["display"].write("settings") + + def leave(self): + pass + # Code pour quitter le jeu + + App = AppClass() diff --git a/module/simon.py b/module/simon.py index 07b5636..0817f7a 100644 --- a/module/simon.py +++ b/module/simon.py @@ -18,9 +18,11 @@ class simon(): self.dico_but["Down"].grid(row = 4, column = 2) - def MainMenu(self): - pass - # Bind les touches pour agir sur le menu principal + def bind(self, UpCmd, DownCmd, LeftCmd, RightCmd): # Bind les touches à leur fonction associé dans les arguments + self.dico_but["Up"].config(command = UpCmd) + self.dico_but["Left"].config(command = LeftCmd) + self.dico_but["Right"].config(command = RightCmd) + self.dico_but["Down"].config(command = DownCmd) classModule["simon"] = simon()