import click


def demander_mouvement(mvmts_possibles: str):
	""" Fonction qui demande au joueur le mouvement qu'il souhaite effectuer
	
	Args:
	    mvmts_possibles (str): Mouvements que le joueur peut faire
	
	Retourne:
	    str: Mouvement choisi par le joueur
	    	H : Aller vers le Haut
		    B : Aller vers le Bas
		    G : Aller à Gauche
		    D : Aller à Droite
	"""
	mouvement = ""
	mouvements_to_fr = {"H":'Monter', "B":"Descendre", "G":"Aller à gauche", "D":"Aller à droite"}
		
	while mouvement == "" or mouvement not in "HBGD":
		print('Tu peux :')
		for mvmt in mvmts_possibles:
			print(f"- {mouvements_to_fr[mvmt]}")
		click.echo('Où aller ? [ZQSD / Flèches] ', nl=False)
		c = click.getchar()
		click.echo()
		if (c == '\xe0H' or c.upper() == "Z") and "H" in mvmts_possibles:
			mouvement = "H"
		elif (c == '\xe0K' or c.upper() == "Q") and "G" in mvmts_possibles:
			mouvement = "G"
		elif (c == '\xe0P' or c.upper() == "S") and "B" in mvmts_possibles:
			mouvement = "B"
		elif (c == '\xe0M' or c.upper() == "D") and "D" in mvmts_possibles:
			mouvement = "D"
		else:
			click.echo('Entrée invalide ou mouvement impossible :(')
	return mouvement