v0.7
Sauvegarde du 15/04/2020
This commit is contained in:
parent
5e263e8bb1
commit
861e65632a
2 changed files with 71 additions and 3 deletions
1
main.pyw
1
main.pyw
|
@ -3,6 +3,7 @@ from tkinter import *
|
||||||
import os
|
import os
|
||||||
import pickle
|
import pickle
|
||||||
import json
|
import json
|
||||||
|
import random
|
||||||
|
|
||||||
########## constante ###########
|
########## constante ###########
|
||||||
PATH_MODULE = "module/"
|
PATH_MODULE = "module/"
|
||||||
|
|
|
@ -17,10 +17,77 @@ class wire():
|
||||||
self.dico_wire[led]["WIRE"] = Button(self.frame, text = "---------------------", relief = FLAT) # Affichage du fil coupable
|
self.dico_wire[led]["WIRE"] = Button(self.frame, text = "---------------------", relief = FLAT) # Affichage du fil coupable
|
||||||
self.dico_wire[led]["WIRE"].grid(row = index, column = 2)
|
self.dico_wire[led]["WIRE"].grid(row = index, column = 2)
|
||||||
|
|
||||||
|
self.dico_wire[led]["CUT"] = False
|
||||||
|
|
||||||
def start(self):
|
|
||||||
print("les fils sont oppérationnels")
|
def start(self): # Code qui choisi des led qui doivent s'allumé, etc...
|
||||||
# Code qui choisi des led qui doivent s'allumé, etc...
|
for wire in self.dico_wire: # Pour chaque câbles, ...
|
||||||
|
self.dico_wire[wire]["WIRE"].config(command = lambda led = "%s" % wire: self.cut_wire(led = led)) # ... On le rend sécable.
|
||||||
|
|
||||||
|
self.dico_wire[wire]["LIT"] = random.choice(["Off", "On", "Blink"])
|
||||||
|
if self.dico_wire[wire]["LIT"] == "On":
|
||||||
|
self.dico_wire[wire]["LED"].config(background = "yellow")
|
||||||
|
if self.dico_wire[wire]["LIT"] == "Blink":
|
||||||
|
self.dico_wire[wire]["LED"].config(background = "green")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def cut_wire(self, led): #coupe les cables
|
||||||
|
self.dico_wire[led]["WIRE"].config(command = lambda: "pass")
|
||||||
|
self.dico_wire[led]["WIRE"].config(text = "--------- ---------")
|
||||||
|
|
||||||
|
self.dico_wire[led]["CUT"] = True
|
||||||
|
|
||||||
|
self.check()
|
||||||
|
|
||||||
|
|
||||||
|
def check(self): # Fonction qui vérifie si les câbles ont bien été coupé selon le manuel
|
||||||
|
self.rules = {
|
||||||
|
"Facile": {
|
||||||
|
"A": {"Off": False, "On": False, "Blink": True},
|
||||||
|
"B": {"Off": True, "On": False, "Blink": False},
|
||||||
|
"C": {"Off": False, "On": True, "Blink": False},
|
||||||
|
"D": {"Off": True, "On": True, "Blink": True},
|
||||||
|
"E": {"Off": True, "On": False, "Blink": True},
|
||||||
|
"F": {"Off": False, "On": False, "Blink": False}
|
||||||
|
}, "Normal": {
|
||||||
|
"A": {"Off": "C Blink", "On": False, "Blink": True},
|
||||||
|
"B": {"Off": False, "On": False, "Blink": "E Off"},
|
||||||
|
"C": {"Off": True, "On": "F Off", "Blink": True},
|
||||||
|
"D": {"Off": True, "On": False, "Blink": "A Blink"},
|
||||||
|
"E": {"Off": False, "On": "B On", "Blink": True},
|
||||||
|
"F": {"Off": True, "On": True, "Blink": False}
|
||||||
|
}, "Difficile": {
|
||||||
|
"A": {"Off": "B Blink", "On": False, "Blink": True},
|
||||||
|
"B": {"Off": "A On", "On": True, "Blink": "D Off"},
|
||||||
|
"C": {"Off": False, "On": "E Off", "Blink": "F Blink"},
|
||||||
|
"D": {"Off": "C Blink", "On": False, "Blink": False},
|
||||||
|
"E": {"Off": True, "On": "A On", "Blink": "B On"},
|
||||||
|
"F": {"Off": "A Blink", "On": "E Off", "Blink": True}
|
||||||
|
}
|
||||||
|
} # Règles du manuel transcrite dans le code
|
||||||
|
|
||||||
|
Difficulty = App.config["Difficulté"]["Value"]
|
||||||
|
|
||||||
|
for wire in self.dico_wire:
|
||||||
|
lit_wire = self.dico_wire[wire]["LIT"]
|
||||||
|
|
||||||
|
if type(self.rules[Difficulty][wire][lit_wire]) == str: # Si la condition est un texte (donc du type LED StatutDeLaLED):
|
||||||
|
condition = self.rules[Difficulty][wire][lit_wire].split(" ")
|
||||||
|
if self.dico_wire[wire]["CUT"] == (self.dico_wire[condition[0]]["LIT"] == condition[1]): # Si la règle est aussi bien respecté que la condition
|
||||||
|
pass # Code éxécuté si le joueur à réussi
|
||||||
|
else:
|
||||||
|
pass # Code éxécuté si le joueur à échoué
|
||||||
|
|
||||||
|
else:
|
||||||
|
if self.dico_wire[wire]["CUT"] == self.rules[Difficulty][wire][lit_wire]:
|
||||||
|
pass # Code éxécuté si le joueur à réussi
|
||||||
|
else:
|
||||||
|
pass # Code éxécuté si le joueur à échoué
|
||||||
|
|
||||||
|
|
||||||
|
# Si oui : cable désamorçer
|
||||||
|
# Si non : Erreur
|
||||||
|
|
||||||
|
|
||||||
classModule["wire"] = wire() # On ajoute le module à la liste des modules
|
classModule["wire"] = wire() # On ajoute le module à la liste des modules
|
||||||
|
|
Loading…
Reference in a new issue