Nettoyage, mise en forme, comments dans la conf

This commit is contained in:
Fred Z 2018-02-18 10:19:58 +01:00
parent 4f00812f65
commit e43a1d702f
2 changed files with 37 additions and 44 deletions

View File

@ -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

View File

@ -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