T-ISN-Projet-Emulateur/module/display.py
raphael60650 1dc79fe64b v0.14
Sauvegarde du 22/04/2020
2020-04-22 18:16:27 +02:00

72 lines
2.3 KiB
Python

class display():
def __init__(self): # Cette fonction est automatiquement éxécuter lors de la création de l'objet
self.defuse = True # Ce module est toujours désamorçé.
self.frame = LabelFrame(Fen, text = "Display") # On créer une sous-fenêtre
self.frame.grid(row = 1, column = 1, sticky = "NEWS") # On l'affiche
self.label = Label(self.frame, text = "ici on affichera le texte")
self.label.grid(row = 1, column = 1, sticky = "NEWS")
def write(self, text):
self.label.config(text = text)
def chrono(self):
self.time -= 1
self.minute = self.time // 60
self.second = self.time % 60
if self.PenalityAnimation: # Si le joueur vient de se trompé
self.PenalityAnimation = False
self.write("/!\\ Erreur /!\\\nVie restante : %i" % App.Life)
elif self.DefuseAnimation: # Si le joueur vient de désamorçé tout le module
self.DefuseAnimation = False
self.write("Module désamorcé !")
else:
self.write("%02i:%02i" % (self.minute, self.second))
if self.time > 0:
self.chrono_event = Fen.after(1000, self.chrono)
else: self.Lose() # Perdu par manque de temps
def start(self):
self.PenalityAnimation = False
self.DefuseAnimation = False
self.time = 181 # En lanceant le chrono, une seconde est immédiatement supprimée
self.chrono()
def checkDefuse(self):
self.time += App.config["Bonus de temps"]["Value"]
_Stop = False
for module in classModule:
if classModule[module].defuse == False:
_Stop = True
if not(_Stop): # Si tout les modules sont désamorcé
Fen.after_cancel(self.chrono_event) # On désactive le chrono
self.write(random.choice(["GG", "Bravo", "Félicitation"]))
else:
self.DefuseAnimation = True
def PenalityLife(self):
App.Life -= 1
self.PenalityAnimation = True
if App.Life <= 0:
self.Lose()
def Lose(self):
Fen.after_cancel(self.chrono_event) # On désactive le chrono
self.write(random.choice(["Perdu", "Dommage", "Try again"]))
# Réitialiser tout les modules
classModule["display"] = display()