Boucle de jeu opérationnelle|TP_3.9
This commit is contained in:
parent
61a31dd0d6
commit
765c477315
|
@ -28,13 +28,17 @@ ERR_MAP_SIZE = ERR_ + "carte «{}», dimensions incorrecte: «{} x {}»"
|
||||||
ERR_MAP_ROBO = ERR_ + "robo est introuvable sur la carte «{}»!"
|
ERR_MAP_ROBO = ERR_ + "robo est introuvable sur la carte «{}»!"
|
||||||
ERR_PLAGE = ERR_ + "saisir un nombre dans la plage indiquée! "
|
ERR_PLAGE = ERR_ + "saisir un nombre dans la plage indiquée! "
|
||||||
ERR_SAISIE = ERR_ + "saisir un nombre! "
|
ERR_SAISIE = ERR_ + "saisir un nombre! "
|
||||||
|
ERR_UNKNOW = ERR_ + "personne n'est censé arriver ici…"
|
||||||
|
|
||||||
MIN_MAP_SIDE = 3
|
MIN_MAP_SIDE = 3
|
||||||
MSG_DISCLAMER = "Bienvenue dans Roboc."
|
MSG_DISCLAMER = "Bienvenue dans Roboc."
|
||||||
MSG_AVAIBLE_MAP = "Cartes disponible: "
|
MSG_AVAIBLE_MAP = "Cartes disponible: "
|
||||||
MSG_CHOOSE_MAP = "Choississez un numéro de carte: "
|
MSG_CHOOSE_MAP = "Choississez un numéro de carte: "
|
||||||
MSG_CHOOSE_MOVE = "Votre deplacement (h pour l'aide): "
|
MSG_CHOOSE_MOVE = "Votre deplacement: "
|
||||||
|
MSG_DOOR = "Vous passez une porte"
|
||||||
MSG_SELECTED_MAP = "Vous avez fait le choix #{}, la carte «{}»."
|
MSG_SELECTED_MAP = "Vous avez fait le choix #{}, la carte «{}»."
|
||||||
|
MSG_END_GAME = "Fin de la partie."
|
||||||
|
MSG_EXIT = "Vous avez atteint la sortie!"
|
||||||
|
|
||||||
DEBUG = False
|
DEBUG = False
|
||||||
|
|
||||||
|
|
|
@ -145,7 +145,12 @@ class Map:
|
||||||
:return: key in MOVE_STATUS
|
:return: key in MOVE_STATUS
|
||||||
"""
|
"""
|
||||||
# decompose le mouvement
|
# decompose le mouvement
|
||||||
direction = move[0]
|
try:
|
||||||
|
direction = move[0]
|
||||||
|
except IndexError as except_detail:
|
||||||
|
# print("IndexError: «{}»".format(except_detail))
|
||||||
|
return 0
|
||||||
|
|
||||||
try:
|
try:
|
||||||
goal = int(move[1:])
|
goal = int(move[1:])
|
||||||
except ValueError as except_detail:
|
except ValueError as except_detail:
|
||||||
|
|
|
@ -85,24 +85,45 @@ map_file = MAP_DIRECTORY + \
|
||||||
current_map = Map(map_file)
|
current_map = Map(map_file)
|
||||||
|
|
||||||
# DEBUT DE BOUCLE DE TOUR DE JEU
|
# DEBUT DE BOUCLE DE TOUR DE JEU
|
||||||
# TODO : clear screen
|
|
||||||
|
|
||||||
# Affichage de la carte et de la position de jeu
|
# Affichage de la carte et de la position de jeu
|
||||||
if current_map.status:
|
while current_map.status:
|
||||||
|
# TODO : clear screen
|
||||||
current_map.map_print()
|
current_map.map_print()
|
||||||
|
|
||||||
# choix du deplacement
|
# choix du deplacement
|
||||||
user_select_move = input(MSG_CHOOSE_MOVE)
|
user_select_move = input(MSG_CHOOSE_MOVE)
|
||||||
|
|
||||||
# traitement du deplacement
|
# traitement du deplacement
|
||||||
current_map.move_to(user_select_move)
|
move_status_id = current_map.move_to(user_select_move)
|
||||||
|
|
||||||
else:
|
if MOVE_STATUS[move_status_id] == 'ok':
|
||||||
|
print('MSG_OK')
|
||||||
|
|
||||||
|
elif MOVE_STATUS[move_status_id] == 'bad':
|
||||||
|
print('MSG_BAD')
|
||||||
|
|
||||||
|
elif MOVE_STATUS[move_status_id] == 'wall':
|
||||||
|
print('MSG_WALL')
|
||||||
|
|
||||||
|
elif MOVE_STATUS[move_status_id] == 'door':
|
||||||
|
print('MSG_DOOR')
|
||||||
|
|
||||||
|
elif MOVE_STATUS[move_status_id] == 'exit':
|
||||||
|
current_map.status = False
|
||||||
|
current_map.status_message = MSG_EXIT
|
||||||
|
|
||||||
|
else : # juste au cas ou…
|
||||||
|
print(ERR_UNKNOW)
|
||||||
|
|
||||||
|
if current_map.status is False:
|
||||||
print(current_map.status_message)
|
print(current_map.status_message)
|
||||||
# fin de la boucle de tour
|
# fin de la boucle de tour
|
||||||
|
|
||||||
|
|
||||||
# Fin de partie
|
# Fin de partie
|
||||||
|
print(MSG_END_GAME)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
""" Starting doctests """
|
""" Starting doctests """
|
||||||
|
|
Loading…
Reference in New Issue
Block a user