def nouvelle_partie (): """ Commence une nouvelle partie, nécessaire pour pouvoir utilser les fonctions relatives à une partie ... afin de bien savoir ce qui se passe @return : None @throw : persistance.CleInvalide # pour le nombre de coups persistance.FichierInvalide # « config » persistance.ValeurInvalide (fichier,clé) # nombre de coups """ global en_cours_de_partie,historique,restant,code_secret,mode_partie en_cours_de_partie = True historique = [] # Initialise l'historique mode_partie = get_next_mode () # susceptible de planter restant = persistance.get_propriete ("config", "coups:" + mode_partie) try: restant = int (restant) except ValueError: raise persistance.ValeurInvalide ("config", "coups:" + mode_partie) affichage.plateau () # Remet l'affichage du plateau
def set_ecran(new, t=False): """ Change d'écran sur la fenêtre turtle @new : str = le nouvel écran @t : int = temps de chargement [opts] @return : None """ global ecran if new == "plateau": if t != False: chargement.run(t, "arc") if moteur.est_en_partie() == True: moteur.reprendre_partie() else: affichage.plateau() elif new == "regles": if t != False: chargement.run(t, "cercle") regles.regles(moteur.get_next_mode()) elif new == "scores": if t != False: chargement.run(t, "ligne") affichage.high_score() elif new == "fond": if t != False: chargement.run(t, "ligne") else: raise EcranInvalide ecran = new
def reprendre_partie (): """ Réaffiche le plateau et les coups joués précédement dans la partie sur l'écran Turtle @return : None @throw : PasEnCoursDePartie """ global historique if est_en_partie () != True: raise PasEnCoursDePartie affichage.plateau () # Remet l'affichage du plateau for coup in historique: couleurs_hexa = [] for couleurplacee in coup[0]: # alala, c'est trop con sinon couleurs_hexa.append (couleurs.couleur_to_hexa (couleurplacee)) affichage.afficher_couleurs (4,couleurs_hexa,coup[1])