Deplacement de la conf dans un module|TP_3.9|UPGRADE map.py roboc.py ADD configuration.py

This commit is contained in:
Fred Z 2018-02-11 15:02:26 +01:00
parent 501bb8a613
commit f0d9a61d71
3 changed files with 45 additions and 34 deletions

34
roboc/configuration.py Normal file
View File

@ -0,0 +1,34 @@
"""
Author: freezed <freezed@users.noreply.github.com> 2018-02-11
Version: 0.1
Licence: `GNU GPL v3` GNU GPL v3: http://www.gnu.org/licenses/
Ce fichier fait partie du projet `roboc`
"""
# CONFIGURATION
MAP_DIRECTORY = 'cartes/' # repertoire des fichiers carte
MAP_EXTENTION = '.txt' # extention des fichiers carte
SAVED_GAME_FILENAME = '.backup' # fichier de sauvegarde
DIRECTIONS = ['n', 'e', 's', 'o'] # commandes de deplacement
MAZE_ELEMENTS = {'wall': 'O', # elements dispo dans le labyrinthe
'door': '.',
'exit': 'U',
'robo': 'X'}
ERR_MAP_FILE = "ERR_MAP_FILE"
ERR_PLAGE = "Il faut saisir un nombre dans la plage indiquée! "
ERR_SAISIE = "Il faut saisir un nombre! "
MSG_DISCLAMER = "Bienvenue dans Roboc."
MSG_AVAIBLE_MAP = "Cartes disponible: "
MSG_CHOOSE_MAP = "Choississez un numéro de carte: "
MSG_SELECTED_MAP = "Vous avez fait le choix #{}, la carte «{}»."
DEBUG = False
# VARIABLES
maps_name_list = list() # liste des maps proposees a l'utilisateur
user_select_map_id = -1 # carte choisie par l'utilisateur

View File

@ -1,6 +1,3 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Author: freezed <freezed@users.noreply.github.com> 2018-02-06
Version: 0.1
@ -9,8 +6,9 @@ Licence: `GNU GPL v3` GNU GPL v3: http://www.gnu.org/licenses/
Ce fichier fait partie du projet `roboc`
"""
import os
from roboc import MAZE_ELEMENTS
from configuration import MAZE_ELEMENTS, ERR_MAP_FILE
class Map:
@ -39,9 +37,12 @@ class Map:
>>> print("_line_nb: {}".format(TestMap._line_nb))
_line_nb: 4
>>> print("_line_position: {}".format(TestMap._line_position))
>>> print("_init_position: {}".format(TestMap._init_position))
_line_position:
>>> print("_current_position: {}".format(TestMap._current_position))
_current_position:
>>> type(TestMap._data_text)
<class 'str'>
@ -59,7 +60,6 @@ class Map:
Initialisation de la carte utilise
:param map_file:
"""
# Chargement du fichier carte choisi
if os.path.isfile(map_file) is True:
with open(map_file, "r") as map_data:
@ -73,7 +73,7 @@ class Map:
self._line_nb = len(self._data_list)
else:
raise FileNotFoundError('ERR_MAP_FILE: {}'.format(map_file))
raise FileNotFoundError('{}: {}'.format(ERR_MAP_FILE, map_file))
line = int(self._line_nb)
while line == 0:
@ -83,7 +83,6 @@ class Map:
# la position courante est la position initiale
self._current_position = self._init_position
line -= 1
def map_print(self):

View File

@ -20,33 +20,11 @@ une sortie. Arrive sur ce point, la partie est terminee.
"""
from map import Map
import os
from map import Map
from configuration import *
# import pickle
# CONFIGURATION
MAP_DIRECTORY = 'cartes/' # repertoire des fichiers carte
MAP_EXTENTION = '.txt' # extention des fichiers carte
SAVED_GAME_FILENAME = '.backup' # fichier de sauvegarde
DIRECTIONS = ['n', 'e', 's', 'o'] # commandes de deplacement
MAZE_ELEMENTS = {'wall': 'O', # elements dispo dans le labyrinthe
'door': '.',
'exit': 'U',
'robo': 'X'}
# ERR_MAP_FILE = "ERR_MAP_FILE"
ERR_PLAGE = "Il faut saisir un nombre dans la plage indiquée! "
ERR_SAISIE = "Il faut saisir un nombre! "
MSG_DISCLAMER = "Bienvenue dans Roboc."
MSG_AVAIBLE_MAP = "Cartes disponible: "
MSG_CHOOSE_MAP = "Choississez un numéro de carte: "
MSG_SELECTED_MAP = "Vous avez fait le choix #{}, la carte «{}»."
DEBUG = False
# VARIABLES
maps_name_list = list() # liste des maps proposees a l'utilisateur
user_select_map_id = -1 # carte choisie par l'utilisateur
# FONCTIONS
@ -77,11 +55,11 @@ for maps_name in maps_name_list:
i += 1
# Choix de la carte par l'utilisateur
while user_select_map_id > len(maps_name_list) or \
user_select_map_id < 0:
while user_select_map_id > len(maps_name_list) or user_select_map_id < 0:
user_select_map_id = input(MSG_CHOOSE_MAP)
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))