(вдохновленный вопросом на Code Review)
Предположим, что два человека играют в Hangman , но вы только подслушали игру и хотите нарисовать текущий статус.
Если в качестве входных данных указать два слова, каждое из которых совпадает со словом [A-Z]+
или [a-z]+
(по вашему выбору), вывести текущее состояние игры палача как искусство ASCII, следуя приведенным ниже правилам.
- Первое слово - это слово, которое нужно угадать, а второе слово - это уже угаданные буквы. Они могут быть приняты в качестве входных данных в любом порядке.
- Предполагаемое слово гарантировано непустое, но уже угаданные буквы могут быть пустыми (т. Е. Как будто это начало игры).
- Игра всегда будет действительной игрой на палачах (т. Е. Угаданные буквы не будут дублироваться, буквы не будут угаданы после окончания игры, вы будете получать только буквы в качестве ввода и т. Д.).
- Ниже рисунка палача должно быть слово, которое нужно угадать,
_
вместо букв еще неизвестных, разделенных пробелами. Например, если нужно угадать словоBOAT
, то под рисунком палача должно быть_ _ _ _
. Если слово былоBOAT
сA
угаданным, то под рисунком должно быть_ _ A _
. - Под словом, которое нужно угадать, должны быть угаданные буквы, которых нет в слове. Они могут быть в любом порядке и могут быть разделены любым неалфавитным разделителем, если это необходимо.
Вот состояния игры палача, от начала до конца игры. Каждое ошибочно угаданное письмо продвигает государство на единицу. Итак, первая ошибочно угаданная буква заставляет голову O
появиться, следующая - тело |
, и т.д.
+---+
| |
|
|
|
|
=========
+---+
| |
O |
|
|
|
=========
+---+
| |
O |
| |
|
|
=========
+---+
| |
O |
/| |
|
|
=========
+---+
| |
O |
/|\ |
|
|
=========
+---+
| |
O |
/|\ |
/ |
|
=========
+---+
| |
O |
/|\ |
/ \ |
|
=========
вход
- Две строки в любом удобном формате , причем первая гарантированно непустая.
- Вы можете принять ввод в любом порядке (например, слово угадать и затем угадать буквы, или наоборот). Пожалуйста, укажите в заявке порядок ввода.
Выход
Результирующее ASCII художественное представление игры палача в процессе, как описано выше, снова в любом удобном формате.
правила
- Начальные или завершающие символы новой строки или пробелы являются необязательными, при условии, что сами символы выстроены правильно.
- Либо полная программа или функция приемлемы. Если функция, вы можете вернуть вывод, а не распечатать его.
- Если возможно, укажите ссылку на среду онлайн-тестирования, чтобы другие люди могли опробовать ваш код!
- Стандартные лазейки запрещены.
- Это код-гольф, поэтому применяются все обычные правила игры в гольф, и выигрывает самый короткий код (в байтах).
Примеры
# 1
BOAT
а также ATG
+---+
| |
O |
|
|
|
=========
_ _ A T
G
# 2
ZEPPELIN
а также
+---+
| |
|
|
|
|
=========
_ _ _ _ _ _ _ _
# 3
ZEPPELIN
а также EATOLINSHR
+---+
| |
O |
/|\ |
/ \ |
|
=========
_ E _ _ E L I N
A T O S H R
# 4
RHYTHM
а также ABCDE
+---+
| |
O |
/|\ |
/ |
|
=========
_ _ _ _ _ _
EDCBA
# 5
BOAT
а также ATOB
+---+
| |
|
|
|
|
=========
B O A T
# 6
AIRPLANE
а также AJKEI
+---+
| |
O |
| |
|
|
=========
A I _ _ _ A _ E
KJ