2016-09-29 14 views
1

私はPythonでテキストベースのゲームを作っています。ちょうどEnterを押して再生中にプリントをスキップする方法があるのだろうかと思っていました。Enterキーを押して印刷をスキップしますか?

私はこのコードを持っているとしましょう。

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

と入力キーを押して待機をスキップします。私はプリントがテキストを入力持っている

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

大量に使用するので、私は聞いてるのよ 主な理由はあるが、私は選手たちが、Enterキーを押して、コードの次の行にスキップできるようにしたいです。または誰かが私を助けることができる場合は本当にクールな機能は、私はそれがテキストをスピードアップ入力を押すことです。私はPythonがゲームを作成するのに最適ではないことを知っていますが、通常の機能を持つテキストベースのゲームを試してみるのは楽しいチャレンジだと感じました。

ありがとうございます!

答えて

0

これを同時に処理する必要があるため、非同期で処理する必要があります。あなたは何らかの入力を聞き、何かをプリントアウトしたいと思っています。

非同期タスクの作成 - >)それは

をprentせ、同時に(入力を待ち受ける(またはキー押下を登録する別の方法を)。

入力が誘発された場合は、非同期タスクをキャンセルし、プレイヤーにゲームを継続させます。

+0

このようなコードはどのように見えますか? –

+0

少し複雑ですが、コード作成サービスではありません。 asyncioとそのドキュメントをチェックしてください – iScrE4m

0

テキストを高速化するには、テキストをすべて印刷する関数にテキストをマップすることができます(または繰り返して1文字/単語を印刷できます...達成しようとしているものによって)。この関数は、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) 

これはテキストをスキップするためにも使用できます。

関連する問題