Как "стилизовать" текстовую игру палача - PullRequest
0 голосов
/ 27 мая 2011

У меня простой вопрос, игра палача выглядит так:

enter image description here

Я делаю отступ таким способом, который я не считаю очень хорошим.

У меня просто есть var = "\t", и я добавляю его в начале каждого отпечатка, это кажется непрактичным и сложным в обслуживании.

Будете ли вы по-другому? Как это вообще управляется?

Заранее спасибо!

Ответы [ 4 ]

1 голос
/ 27 мая 2011

проблема:

print('\tthis')
print('\tis')
print('\tan')
print('\texample')

решение = абстракция!:

def echo(string, indent=1):  # name it whatever you want, e.g. p
    print('\t'*indent + string)

echo('this')
echo('is')
echo('an')
echo('abstraction')

лучшее решение = шаблоны:

template = """
{partial}
 ______
{hangman}
|_________

Your points so far: {points}
You've entered (wrong): {wrong}

Choose a letter:
"""

print(
    template.format(
        partial=..., 
        hangman='\n'.join('|'+line for line in hangmanAscii(wrong=2).splitlines()), 
        points=..., 
        wrong=', '.join(...)
    )
)
0 голосов
/ 27 мая 2011

Быстрое решение вашей неотложной проблемы - вспомогательная функция:

def put(text): print "\t" + text

Для более интересных вещей есть библиотека для терминальных «графических» приложений. Он называется «проклятия» и доступен также на python: http://docs.python.org/library/curses.html. Здесь есть учебник http://docs.python.org/howto/curses.html,, и вы можете найти больше онлайн.

Curses позволяет создавать более интересные текстовые интерфейсы без особых усилий. Чтобы просто воспроизвести то, что у вас есть, вам, вероятно, нужно создать окно с правильным размером и положением (используя newwin), а затем распечатать текст без каких-либо отступов (используя addstr). Curses предлагает множество опций и несколько режимов работы. Это не быстро учиться, поэтому имеет смысл, если вы планируете делать больше с терминальными приложениями.

0 голосов
/ 27 мая 2011

Я бы, наверное, исправил опечатку в "Ваше слово выглядит так".Затем посмотрите на printf стиль форматирования, как описано здесь .

0 голосов
/ 27 мая 2011

Шаблоны не являются просто для HTML.

...