2016-09-29 2 views
1

Я делаю своего рода текстовую игру на питоне, и мне было интересно, есть ли способ пропустить печать во время игры, просто нажав enter.Нажатие Enter для пропуска печати?

Предположим, у меня есть этот код.

print("BORING") 
    time.sleep(5) 
    print("ANNOYED") 
    time.sleep(5) 

и я просто хочу пропустить ожидание, нажав клавишу Enter. Основная причина, почему я спрашиваю, потому что я использую

def print_slow(str): 
for letter in str: 
    stdout.write(letter) 
    stdout.flush() 
    time.sleep(0.1) 

много, чтобы иметь отпечатки введите текст, но я хочу, чтобы игроки могли, чтобы перейти к следующей строке кода, нажав Enter. Или действительно классная функция, если кто-нибудь может мне помочь, когда я нажимаю кнопку ввода, это ускоряет текст. Я знаю, что python не лучший для создания игр, но я чувствовал, что было бы интересной задачей просто попробовать текстовую игру с нормальными функциями.

Спасибо!

ответ

0

Вам необходимо обработать это асинхронно, потому что вы хотите одновременно обрабатывать две вещи. Вы хотите как послушать какой-то вход, так и распечатать что-нибудь.

Создание асинхронной задачи -> пусть Prent

И в то же время прослушивания входного сигнала() (или другой способ регистрации нажатий клавиш).

Если ввод вызван, отмените асинхронную задачу и дайте игроку продолжить игру.

+0

Как бы выглядел такой код? –

+0

Немного сложнее, а не служба написания кода. Проверьте асинчио и его документацию – iScrE4m

0

Для ускорения вашего текста вы можете сопоставить текст с функцией, которая распечатывает все это (или выполняет итерацию через нее и печатает одну букву/слово за раз ... в зависимости от того, что вы пытаетесь выполнить). Эта функция может быть вызвана нажатием клавиши с помощью библиотеки Tkinter:

import tkinter 

def speed_up(event=None): 
    print('Speeding up!') 

main = Tk() 

opt = Button(main, text = 'Press Enter', command = speed_up) 
opt.pack() 

main.bind('<Enter>', speed_up) 

Это также может быть использовано, чтобы пропустить текст.

Смежные вопросы