(inspiriert von einer Frage bei Code Review)
Angenommen, zwei Personen spielen Hangman , aber Sie haben das Spiel nur mitgehört und möchten den aktuellen Status zeichnen.
Geben Sie bei zwei eingegebenen Wörtern, bei denen die Wörter übereinstimmen, [A-Z]+
oder [a-z]+
(nach Ihrer Wahl) den aktuellen Status des Henkerspiels als ASCII-Grafik gemäß den folgenden Regeln aus.
- Das erste Wort ist das zu erratende Wort und das zweite Wort sind die bereits erratenen Buchstaben. Diese können in beliebiger Reihenfolge eingegeben werden.
- Das zu erratende Wort ist garantiert nicht leer, aber die bereits erratenen Buchstaben können leer sein (dh als wäre es der Beginn des Spiels).
- Das Spiel wird immer ein gültiges Henkerspiel sein (dh erratene Buchstaben werden nicht dupliziert, Buchstaben werden nach dem Ende des Spiels nicht erraten, Sie erhalten nur Buchstaben als Eingabe usw.).
- Unterhalb der Henkerzeichnung muss sich das zu erratende Wort befinden. Anstelle
_
der noch unbekannten Buchstaben müssen Leerzeichen verwendet werden. Wenn zum Beispiel das zu erratende Wort lauteteBOAT
, muss es unter der Henkerzeichnung stehen_ _ _ _
. Wenn das WortBOAT
mitA
erraten wurde, dann muss unten die Zeichnung stehen_ _ A _
. - Unter dem zu erratenden Wort müssen sich bereits erratene Buchstaben befinden, die nicht im Wort enthalten sind. Diese können in beliebiger Reihenfolge angegeben werden und bei Bedarf durch ein nicht alphabetisches Trennzeichen voneinander getrennt werden.
Hier sind die Zustände des Henkerspiels vom Anfang bis zum Ende des Spiels. Jeder falsch erratene Buchstabe rückt den Staat um eins vor. Der erste falsch erratene Buchstabe lässt den Kopf O
erscheinen, der nächste lässt den Körper |
erscheinen usw.
+---+
| |
|
|
|
|
=========
+---+
| |
O |
|
|
|
=========
+---+
| |
O |
| |
|
|
=========
+---+
| |
O |
/| |
|
|
=========
+---+
| |
O |
/|\ |
|
|
=========
+---+
| |
O |
/|\ |
/ |
|
=========
+---+
| |
O |
/|\ |
/ \ |
|
=========
Eingang
- Zwei Zeichenfolgen in einem beliebigen Format , wobei die erste garantiert nicht leer ist.
- Sie können die Eingabe in beliebiger Reihenfolge vornehmen (z. B. zu erratende Wörter und dann erratene Buchstaben oder umgekehrt). Bitte geben Sie bei Ihrer Einsendung die Eingabereihenfolge an.
Ausgabe
Die resultierende ASCII-Grafikdarstellung des laufenden Henkerspiels, wie oben beschrieben, wieder in einem beliebigen geeigneten Format.
Regeln
- Führende oder nachfolgende Zeilenumbrüche oder Leerzeichen sind optional, sofern die Zeichen selbst korrekt ausgerichtet sind.
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Fügen Sie nach Möglichkeit einen Link zu einer Online-Testumgebung hinzu, damit andere Benutzer Ihren Code ausprobieren können!
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
Beispiele
# 1
BOAT
und ATG
+---+
| |
O |
|
|
|
=========
_ _ A T
G
# 2
ZEPPELIN
und
+---+
| |
|
|
|
|
=========
_ _ _ _ _ _ _ _
#3
ZEPPELIN
und EATOLINSHR
+---+
| |
O |
/|\ |
/ \ |
|
=========
_ E _ _ E L I N
A T O S H R
# 4
RHYTHM
und ABCDE
+---+
| |
O |
/|\ |
/ |
|
=========
_ _ _ _ _ _
EDCBA
# 5
BOAT
und ATOB
+---+
| |
|
|
|
|
=========
B O A T
# 6
AIRPLANE
und AJKEI
+---+
| |
O |
| |
|
|
=========
A I _ _ _ A _ E
KJ