(inspirado em uma pergunta sobre Code Review)
Suponha que duas pessoas estejam jogando carrasco , mas você só ouviu o jogo e deseja desenhar o status atual.
Dadas duas palavras como entrada, onde as palavras correspondem [A-Z]+
ou [a-z]+
(sua escolha), produz o estado atual do jogo da forca como arte ASCII, seguindo as regras abaixo.
- A primeira palavra é a palavra a ser adivinhada, e a segunda palavra são as letras já adivinhadas. Eles podem ser tomados como entrada em qualquer ordem.
- A palavra a ser adivinhada é garantida como não vazia, mas as letras já adivinhadas podem estar vazias (ou seja, como se fosse o início do jogo).
- O jogo sempre será um jogo da forca válido (ou seja, as letras adivinhadas não serão duplicadas, as letras não serão adivinhadas após o final do jogo, você receberá apenas letras como entrada, etc.).
- Abaixo do desenho da forca, deve haver a palavra a ser adivinhada, com
_
letras no lugar ainda desconhecidas, separadas por espaços. Por exemplo, se a palavra a ser adivinhada eraBOAT
, abaixo do desenho da forca deve estar_ _ _ _
. Se a palavra foiBOAT
comA
adivinhou, em seguida, seguir o desenho deve ser_ _ A _
. - Abaixo da palavra a ser adivinhada, deve haver letras já adivinhadas que não estão na palavra. Eles podem estar em qualquer ordem e podem ser separados por qualquer separador não alfabético, se desejado.
Aqui estão os estados do jogo da forca, do início ao fim do jogo. Cada letra adivinhada incorretamente avança o estado em um. Assim, a primeira letra incorretamente adivinhada faz a cabeça O
aparecer, a próxima faz o corpo |
aparecer, etc.
+---+
| |
|
|
|
|
=========
+---+
| |
O |
|
|
|
=========
+---+
| |
O |
| |
|
|
=========
+---+
| |
O |
/| |
|
|
=========
+---+
| |
O |
/|\ |
|
|
=========
+---+
| |
O |
/|\ |
/ |
|
=========
+---+
| |
O |
/|\ |
/ \ |
|
=========
Entrada
- Duas strings em qualquer formato conveniente , com a primeira garantida não vazia.
- Você pode receber a entrada em qualquer ordem (por exemplo, palavra para adivinhar e depois adivinhar letras ou vice-versa). Indique no seu envio a ordem de entrada.
Saída
A representação artística ASCII resultante do jogo da forca em andamento, como descrito acima, novamente em qualquer formato conveniente.
Regras
- Novas linhas à esquerda ou à direita ou espaços em branco são opcionais, desde que os próprios caracteres estejam alinhados corretamente.
- Um programa completo ou uma função são aceitáveis. Se uma função, você pode retornar a saída em vez de imprimi-la.
- Se possível, inclua um link para um ambiente de teste on-line para que outras pessoas possam experimentar seu código!
- Lacunas padrão são proibidas.
- Isso é código-golfe, portanto todas as regras usuais de golfe se aplicam e o código mais curto (em bytes) vence.
Exemplos
# 1
BOAT
e ATG
+---+
| |
O |
|
|
|
=========
_ _ A T
G
# 2
ZEPPELIN
e
+---+
| |
|
|
|
|
=========
_ _ _ _ _ _ _ _
# 3
ZEPPELIN
e EATOLINSHR
+---+
| |
O |
/|\ |
/ \ |
|
=========
_ E _ _ E L I N
A T O S H R
# 4
RHYTHM
e ABCDE
+---+
| |
O |
/|\ |
/ |
|
=========
_ _ _ _ _ _
EDCBA
# 5
BOAT
e ATOB
+---+
| |
|
|
|
|
=========
B O A T
# 6
AIRPLANE
e AJKEI
+---+
| |
O |
| |
|
|
=========
A I _ _ _ A _ E
KJ