From e43a1d702f2c7fa54623a2f802b28291f29e1c9e Mon Sep 17 00:00:00 2001 From: Fred Z Date: Sun, 18 Feb 2018 10:19:58 +0100 Subject: [PATCH] Nettoyage, mise en forme, comments dans la conf --- roboc/configuration.py | 74 +++++++++++++++++++----------------------- roboc/roboc.py | 7 ++-- 2 files changed, 37 insertions(+), 44 deletions(-) diff --git a/roboc/configuration.py b/roboc/configuration.py index e5ca1f7..e2d2d54 100644 --- a/roboc/configuration.py +++ b/roboc/configuration.py @@ -7,49 +7,51 @@ Ce fichier fait partie du projet `roboc` """ - # CONFIGURATION - -MAP_DIRECTORY = 'cartes/' # repertoire des fichiers carte -MAP_EXTENTION = '.txt' # extention des fichiers carte -BACKUP_FILE = '.backup' # fichier de sauvegarde +# fichier de sauvegarde +BACKUP_FILE = '.backup' +# Commandes de refus/acceptation MSG_NO_YES = ['non', 'oui'] -# TODO standardiser la maniere de stocker: -# - DIRECTIONS & DIRECTIONS_LABEL -# - MOVE_STATUS & MOVE_STATUS_MSG -# - COMMANDS -# Meilleure sera la comprehension de la conf et ca permettra de faire -# une fonction affiche_liste(VAR) commune pour la liste des fichiers de -# carte et celle de l'aide. -# COMMANDES D'INTERUPTION: -# le code utilise l'index des listes `COMMANDS` & `COMMANDS_LABEL` -# pour faire le lien entre les 2. -# Ici vous pouvez ajouter de nouvelles commandes de jeu, elle seront -# ajoutees a l'aide automatiquement. Mais il faudra ajouter le code -# leur correspondant dans la condition de traitement du mouvement. +# Commandes +# Le code utilise l'index des listes `COMMANDS` & `COMMANDS_LABEL` +# pour faire le lien entre les 2. +# Ici vous pouvez ajouter de nouvelles commandes de jeu, elle seront +# ajoutees a l'aide automatiquement. Mais il faudra ajouter le code +# leur correspondant dans la condition de traitement du mouvement. COMMANDS = ['Q', 'H'] # Libelle des commandes d'interuption, conserver l'ordre COMMANDS_LABEL = ['Sauvegarder & quitter', 'Aide'] -DIRECTIONS = ['N', 'S', 'E', 'O'] # commandes clavier de deplacement -DIRECTIONS_LABEL = ['nord', # etiquette des commandes clavier - 'sud', # des de deplacements pour - 'est', # l'affichage de l'aide. - 'ouest'] # Garder la correspondance -MAZE_ELEMENTS = {'wall': 'O', # Elements dispo dans le labyrinthe +# Commandes clavier de deplacement +DIRECTIONS = ['N', 'S', 'E', 'O'] +# Étiquette des commandes clavier des de deplacements pour l'affichage +# de l'aide. Garder la correspondance +DIRECTIONS_LABEL = ['nord', + 'sud', + 'est', + 'ouest'] + +# Pepertoire des fichiers carte +MAP_DIRECTORY = 'cartes/' +# Extention des fichiers carte +MAP_EXTENTION = '.txt' +# Elements dispo dans le labyrinthe +MAZE_ELEMENTS = {'wall': 'O', 'door': '.', 'exit': 'U', 'robo': 'X', 'void': ' '} # Issue possible d'un mouvement, garder le OK toujours en fin de liste MOVE_STATUS = ['bad', 'wall', 'exit', 'door', 'ok'] -MOVE_STATUS_MSG = {'bad': "Le déplacement «{}» n'est pas autorisé.", +MOVE_STATUS_MSG = { + 'bad': "Le déplacement «{}» n'est pas autorisé.", 'wall': "Le déplacement est stoppé par un mur.", 'exit': "Vous êtes sortit du labyrinte", 'door': "Vous passez une porte", 'ok': "Jusqu'ici, tout va bien…" } +# Messages d'erreurs ERR_ = "#!@?# Oups… " ERR_MAP_FILE = ERR_ + "carte «{}» inaccessible!" ERR_MAP_SIZE = ERR_ + "carte «{}», dimensions incorrecte: «{} x {}»" @@ -67,23 +69,17 @@ MSG_BACKUP_DONE = "La partie a été sauvegardée." MSG_BACKUP_GAME = "Partie sauvegardé chargée" MSG_CHOOSE_MAP = "Choississez un numéro de carte: " MSG_CHOOSE_MOVE = "Votre deplacement ({}:{}): " -MSG_DOOR = "Vous passez une porte" MSG_START_GAME = "Votre partie commence" +MSG_END_GAME = "Fin du jeu." +# Recapitulatif des commandes MSG_HELP = "Voici les commandes disponibles:\n" MSG_SELECTED_MAP = "Vous avez fait le choix #{}, la carte «{}»." -MSG_END_GAME = "Fin de la partie." - -DEBUG = False - # VARIABLES - - maps_name_list = list() # liste des maps proposees a l'utilisateur user_select_backup = str() # choix utilisateur: la sauvegarde - -# FUNCTIONS +# FONCTIONS def cls(): @@ -118,11 +114,7 @@ def choose_maps_menu(): try: user_select_map_id = int(user_select_map_id) # ? if user_select_map_id is int(): ? - except ValueError as except_detail: - if DEBUG: - print("ValueError: «{}»".format(except_detail)) - else: - print(ERR_SAISIE) + except ValueError: user_select_map_id = -1 continue @@ -130,7 +122,7 @@ def choose_maps_menu(): user_select_map_id < 0: print(ERR_PLAGE) - cls() # clear screen + cls() # vide l'ecran de la console print(MSG_SELECTED_MAP.format( user_select_map_id, maps_name_list[user_select_map_id] @@ -164,6 +156,6 @@ def get_msg_list(command, label): result = str() for key, value in enumerate(command): - result += TEMPLATE.format(value ,label[key]) + result += TEMPLATE.format(value, label[key]) return result diff --git a/roboc/roboc.py b/roboc/roboc.py index af6fa18..8d7cc40 100644 --- a/roboc/roboc.py +++ b/roboc/roboc.py @@ -20,9 +20,10 @@ https://openclassrooms.com/courses/apprenez-a-programmer-en-python/exercises/180 import os import pickle # from map import Map -from configuration import BACKUP_FILE, choose_maps_menu, cls, COMMANDS, COMMANDS_LABEL, \ - DIRECTIONS, DIRECTIONS_LABEL, ERR_UNKNOW, get_msg_list, MAP_DIRECTORY, MAP_EXTENTION, maps_name_list, \ - MOVE_STATUS, MOVE_STATUS_MSG, MSG_AVAIBLE_BACKUP, MSG_BACKUP_DONE, MSG_BACKUP_GAME, \ +from configuration import BACKUP_FILE, choose_maps_menu, cls, COMMANDS, \ + COMMANDS_LABEL, DIRECTIONS, DIRECTIONS_LABEL, get_msg_list, \ + MAP_DIRECTORY, MAP_EXTENTION, maps_name_list, MOVE_STATUS, \ + MOVE_STATUS_MSG, MSG_AVAIBLE_BACKUP, MSG_BACKUP_DONE, MSG_BACKUP_GAME, \ MSG_CHOOSE_MOVE, MSG_DISCLAMER, MSG_END_GAME, MSG_HELP, MSG_NO_YES, \ user_select_backup