¡Hoy vamos a recrear el juego 'Hangman' en Python!
Se divide en varias funciones pequeñas que, cuando se combinan y completan, ¡forman un juego de trabajo!
Estamos proporcionando la función principal start_new_game , que solo se basa en sus otras funciones más pequeñas para trabajar.
Estas son las funciones que debe implementar:
$ py.test tests.py -k mask_word Dada una palabra como 'Python' , la devuelve "enmascarado" (reemplazando los caracteres reales con asteriscos): '******'
$ py.test tests.py -k uncover_word Este es probablemente uno de los más desafiantes (tiene muchos casos excepcionales). Dada una palabra de respuesta (como 'Python' ) una palabra enmascarada (como '******' o '*y****' ) y una letra adivinada ( 'n' por ejemplo) devuelve una nueva palabra enmascarada que reemplaza los asteriscos con la letra adivinada si la carta está presente en la palabra para responder. Ejemplos:
_uncover_word ( 'Python' , '******' , 'y' ) # '*y****' # Match
_uncover_word ( 'Python' , '*y****' , 'n' ) # '*y***n' # Match
_uncover_word ( 'Python' , '******' , 'x' ) # '******' # Miss
_uncover_word ( 'Python' , '*y****' , 'x' ) # '*y****' # Miss$ py.test tests.py -k get_random_wordRecibe una lista de palabras y devuelve una de la lista al azar.
$ py.test tests.py -k guessProbablemente la función más "importante" (o "general"). Le recomendamos que se ocupe de esta función después de haber completado las otras.
Recibe un objeto game y una carta para adivinar. Tiene varios escenarios diferentes. Por ejemplo, la palabra adivinada es un partido o una falla, el juego se gana o se pierde, o el juego ya había terminado.