Verification basique des cartes (trop petite, vide, pres robo)|TP_3.9|UPGRADE roboc.py map.py
This commit is contained in:
parent
730e4ef2ef
commit
8b19a63df5
27
roboc/map.py
27
roboc/map.py
|
@ -18,9 +18,21 @@ class Map:
|
|||
de partie.
|
||||
|
||||
:Example:
|
||||
>>> EasyMap = Map("cartes/facile.txt")
|
||||
>>> TestMap = Map("cartes/test.txt")
|
||||
|
||||
>>> PrisonMap = Map("cartes/prison.txt")
|
||||
>>> EmptyMap = Map("cartes/vide.txt")
|
||||
>>> TooSmallMap = Map("cartes/trop_petite.txt")
|
||||
>>> NoRoboMap = Map("cartes/sans_robo.txt")
|
||||
|
||||
>>> print(EmptyMap.status_message)
|
||||
#!@?# Oups… carte «cartes/vide.txt», dimensions incorrecte: «0 x 0»
|
||||
|
||||
>>> print(TooSmallMap.status_message)
|
||||
#!@?# Oups… carte «cartes/trop_petite.txt», dimensions incorrecte: «2 x 2»
|
||||
|
||||
>>> print(NoRoboMap.status_message)
|
||||
#!@?# Oups… robo est introuvable sur la carte «cartes/sans_robo.txt»!
|
||||
|
||||
>>> print("_data_text: {}".format(TestMap._data_text))
|
||||
_data_text: O1234
|
||||
|
@ -81,11 +93,6 @@ class Map:
|
|||
# positior du robot
|
||||
self._robo_position = self._data_text.find(MAZE_ELEMENTS['robo'])
|
||||
|
||||
# Erreur de chargement du fichier
|
||||
else:
|
||||
self.status = False
|
||||
self.status_message = ERR_MAP_FILE.format(map_file)
|
||||
|
||||
# Quelques controle sur la carte:
|
||||
# - a t elle des dimensions mini?
|
||||
if self._column_nb < MIN_MAP_SIDE or self._line_nb < MIN_MAP_SIDE:
|
||||
|
@ -101,10 +108,16 @@ class Map:
|
|||
|
||||
# - a t elle une sortie (dans mur) TODO?
|
||||
# - a t elle du mur tout autour TODO?
|
||||
|
||||
else:
|
||||
self._init_robo_position = self._robo_position
|
||||
self.status = True
|
||||
|
||||
# Erreur de chargement du fichier
|
||||
else:
|
||||
self.status = False
|
||||
self.status_message = ERR_MAP_FILE.format(map_file)
|
||||
|
||||
|
||||
def __getattr__(self, name):
|
||||
"""
|
||||
Si un attribut manque a l'appel (_robo_position ou
|
||||
|
|
|
@ -84,7 +84,6 @@ map_file = MAP_DIRECTORY + \
|
|||
|
||||
# Affichage de la carte et de la position de jeu
|
||||
current_map = Map(map_file)
|
||||
|
||||
if current_map.status:
|
||||
current_map.map_print()
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user