按Enter跳过打印?

时间:2016-09-29 18:31:00

标签: python

我在python中制作了一种基于文本的游戏,我想知道是否有一种方法可以通过按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并不是创建游戏的最佳选择,但我觉得尝试一个具有正常功能的基于文本的游戏将是一个有趣的挑战。

谢谢!

2 个答案:

答案 0 :(得分:0)

您需要异步处理此问题,因为您希望同时处理两件事。你想要听某种输入并打印出来。

创建异步任务 - >让它出现

AND同时监听input()(或其他注册按键的方式)。

如果引发了输入,请取消异步任务,让玩家继续游戏。

答案 1 :(得分: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)

这也可以用来跳过文字。