(inspirado por una pregunta sobre la revisión de código)
Supongamos que dos personas están jugando al Ahorcado , pero solo has escuchado el juego y quieres dibujar el estado actual.
Dadas dos palabras como entrada, donde las palabras coinciden [A-Z]+
o [a-z]+
(a su elección), muestran el estado actual del juego del ahorcado como arte ASCII, siguiendo las siguientes reglas.
- La primera palabra es la palabra a adivinar, y la segunda palabra son las letras ya adivinadas. Estos pueden tomarse como entrada en cualquier orden.
- La palabra a adivinar está garantizada como no vacía, pero las letras ya adivinadas pueden estar vacías (es decir, como si fuera el comienzo del juego).
- El juego siempre será un juego de ahorcado válido (es decir, las letras adivinadas no se duplicarán, las letras no se adivinarán más allá del final del juego, solo recibirá letras como entrada, etc.).
- Debajo del dibujo del ahorcado debe estar la palabra a adivinar,
_
en lugar de letras aún desconocidas, separadas por espacios. Por ejemplo, si la palabra a adivinar eraBOAT
, entonces debajo del dibujo del ahorcado debe estar_ _ _ _
. Si la palabra fueBOAT
conA
adivinado, a continuación, debajo del dibujo debe ser_ _ A _
. - Debajo de la palabra a adivinar debe haber letras ya adivinadas que no están en la palabra. Estos pueden estar en cualquier orden y pueden estar separados por cualquier separador no alfabético, si así se desea.
Estos son los estados del juego del ahorcado, desde el inicio inicial hasta el final del juego. Cada letra adivinada erróneamente avanza el estado en uno. Entonces, la primera letra adivinada erróneamente hace O
aparecer la cabeza , la siguiente hace |
aparecer el cuerpo , etc.
+---+
| |
|
|
|
|
=========
+---+
| |
O |
|
|
|
=========
+---+
| |
O |
| |
|
|
=========
+---+
| |
O |
/| |
|
|
=========
+---+
| |
O |
/|\ |
|
|
=========
+---+
| |
O |
/|\ |
/ |
|
=========
+---+
| |
O |
/|\ |
/ \ |
|
=========
Entrada
- Dos cadenas en cualquier formato conveniente , con la primera garantizada no vacía.
- Puede tomar la entrada en cualquier orden (por ejemplo, palabra para adivinar y luego letras adivinadas, o viceversa). Indique en su envío el orden de entrada.
Salida
La representación de arte ASCII resultante del juego del ahorcado en progreso, como se describió anteriormente, nuevamente en cualquier formato conveniente.
Reglas
- Las nuevas líneas o espacios en blanco iniciales o finales son opcionales, siempre que los caracteres se alineen correctamente.
- Un programa completo o una función son aceptables. Si es una función, puede devolver el resultado en lugar de imprimirlo.
- Si es posible, incluya un enlace a un entorno de prueba en línea para que otras personas puedan probar su código.
- Las lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).
Ejemplos
# 1
BOAT
y ATG
+---+
| |
O |
|
|
|
=========
_ _ A T
G
# 2
ZEPPELIN
y
+---+
| |
|
|
|
|
=========
_ _ _ _ _ _ _ _
# 3
ZEPPELIN
y EATOLINSHR
+---+
| |
O |
/|\ |
/ \ |
|
=========
_ E _ _ E L I N
A T O S H R
# 4
RHYTHM
y ABCDE
+---+
| |
O |
/|\ |
/ |
|
=========
_ _ _ _ _ _
EDCBA
# 5
BOAT
y ATOB
+---+
| |
|
|
|
|
=========
B O A T
# 6
AIRPLANE
y AJKEI
+---+
| |
O |
| |
|
|
=========
A I _ _ _ A _ E
KJ