(ispirato a una domanda su Code Review)
Supponiamo che due persone stiano giocando a Hangman , ma hai sentito per caso il gioco e vuoi disegnare lo stato attuale.
Dato due parole come input, in cui le parole corrispondono [A-Z]+
o [a-z]+
(a scelta), producono lo stato corrente del gioco dell'impiccato come arte ASCII, seguendo le regole seguenti.
- La prima parola è la parola da indovinare, e la seconda parola sono le lettere già indovinate. Questi possono essere presi come input in qualsiasi ordine.
- La parola da indovinare è garantita non vuota, ma le lettere già indovinate possono essere vuote (cioè, come se fosse l'inizio del gioco).
- Il gioco sarà sempre un gioco dell'impiccato valido (ovvero, le lettere indovinate non verranno duplicate, le lettere non verranno indovinate dopo la fine del gioco, riceverai solo lettere come input, ecc.).
- Sotto il disegno dell'impiccato deve essere la parola da indovinare, con
_
al posto delle lettere ancora sconosciute, separate da spazi. Ad esempio, se la parola da indovinare eraBOAT
, allora sotto deve essere il disegno dell'impiccato_ _ _ _
. Se la parola eraBOAT
conA
indovinato, allora sotto deve essere il disegno_ _ A _
. - Sotto la parola da indovinare ci devono essere lettere già indovinate che non sono nella parola. Questi possono essere in qualsiasi ordine e possono essere separati da qualsiasi separatore non alfabetico, se lo si desidera.
Ecco gli stati del gioco dell'impiccato, dall'inizio iniziale alla fine del gioco. Ogni lettera erroneamente indovinata fa avanzare lo stato di una. Quindi la prima lettera erroneamente indovinata fa O
apparire la testa , la successiva fa |
apparire il corpo , ecc.
+---+
| |
|
|
|
|
=========
+---+
| |
O |
|
|
|
=========
+---+
| |
O |
| |
|
|
=========
+---+
| |
O |
/| |
|
|
=========
+---+
| |
O |
/|\ |
|
|
=========
+---+
| |
O |
/|\ |
/ |
|
=========
+---+
| |
O |
/|\ |
/ \ |
|
=========
Ingresso
- Due stringhe in qualsiasi formato conveniente , con la prima garantita non vuota.
- Puoi prendere l'input in entrambi gli ordini (es. Parola da indovinare e poi lettere indovinate, o viceversa). Si prega di indicare nell'invio l'ordine di input.
Produzione
La rappresentazione artistica ASCII risultante del gioco dell'impiccato in corso, come descritto sopra, sempre in qualsiasi formato conveniente.
Regole
- Le nuove linee iniziali o finali o gli spazi bianchi sono tutti opzionali, purché i personaggi stessi si allineino correttamente.
- È accettabile un programma completo o una funzione. Se una funzione, è possibile restituire l'output anziché stamparlo.
- Se possibile, includi un collegamento a un ambiente di test online in modo che altre persone possano provare il tuo codice!
- Sono vietate le scappatoie standard .
- Si tratta di code-golf quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).
Esempi
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