(zainspirowany pytaniem dotyczącym recenzji kodu)
Załóżmy, że dwie osoby grają w Wisielca , ale podsłuchałeś tylko grę i chcesz narysować obecny status.
Biorąc pod uwagę dwa słowa jako dane wejściowe, przy czym słowa pasują do siebie ( [A-Z]+
lub [a-z]+
twój wybór), wyświetlają bieżący stan gry kata jako grafikę ASCII, zgodnie z poniższymi zasadami.
- Pierwsze słowo to słowo do odgadnięcia, a drugie słowo to już odgadnięte litery. Można je traktować jako dane wejściowe w dowolnej kolejności.
- Słowo, które należy odgadnąć, jest gwarantowane jako niepuste, ale już odgadnięte litery mogą być puste (tj. Jakby to był początek gry).
- Gra zawsze będzie prawidłową grą kata (tzn. Odgadnięte litery nie będą duplikowane, litery nie będą odgadnięte po zakończeniu gry, otrzymasz tylko litery jako dane wejściowe itp.).
- Pod rysunkiem wisielca musi znajdować się słowo do odgadnięcia,
_
w miejscu nieznanych jeszcze liter, oddzielone spacjami. Na przykład, jeśli zgadywanym słowem byłoBOAT
, to poniżej rysunku kata musi być_ _ _ _
. Jeśli słowo byłoBOAT
zA
odgadnięciem, to poniżej rysunku musi być_ _ A _
. - Pod słowem do odgadnięcia muszą znajdować się już odgadnięte litery, których nie ma w słowie. Mogą być w dowolnej kolejności i, jeśli to pożądane, mogą być oddzielone dowolnym separatorem niealfabetycznym.
Oto stany gry kata, od początkowego początku do końca gry. Każda błędnie odgadnięta litera przesuwa stan o jeden. Tak więc pierwsza błędnie odgadnięta litera powoduje O
pojawienie się głowy , następna sprawia, że |
pojawia się ciało itp.
+---+
| |
|
|
|
|
=========
+---+
| |
O |
|
|
|
=========
+---+
| |
O |
| |
|
|
=========
+---+
| |
O |
/| |
|
|
=========
+---+
| |
O |
/|\ |
|
|
=========
+---+
| |
O |
/|\ |
/ |
|
=========
+---+
| |
O |
/|\ |
/ \ |
|
=========
Wkład
- Dwa ciągi w dowolnym wygodnym formacie , z pierwszym gwarantowanym niepustym.
- Możesz wziąć dane wejściowe w dowolnej kolejności (np. Słowo do odgadnięcia, a następnie odgadnięte litery lub odwrotnie). Podaj w swoim zgłoszeniu kolejność wprowadzania.
Wydajność
Wynikowa reprezentacja ASCII sztuki gry kata w toku, jak opisano powyżej, ponownie w dowolnym dogodnym formacie.
Zasady
- Wiodące lub końcowe znaki nowej linii lub białe znaki są opcjonalne, o ile same znaki są poprawnie ustawione w linii.
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je drukować.
- Jeśli to możliwe, dołącz link do internetowego środowiska testowego, aby inni mogli wypróbować Twój kod!
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).
Przykłady
# 1
BOAT
i ATG
+---+
| |
O |
|
|
|
=========
_ _ A T
G
# 2
ZEPPELIN
i
+---+
| |
|
|
|
|
=========
_ _ _ _ _ _ _ _
# 3
ZEPPELIN
i EATOLINSHR
+---+
| |
O |
/|\ |
/ \ |
|
=========
_ E _ _ E L I N
A T O S H R
# 4
RHYTHM
i ABCDE
+---+
| |
O |
/|\ |
/ |
|
=========
_ _ _ _ _ _
EDCBA
# 5
BOAT
i ATOB
+---+
| |
|
|
|
|
=========
B O A T
# 6
AIRPLANE
i AJKEI
+---+
| |
O |
| |
|
|
=========
A I _ _ _ A _ E
KJ