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 키를 눌러 코드의 다음 줄로 건너 뛸 수 있어야합니다. 또는 누군가가 저를 도울 수있는 경우에 진짜로 차가운 특징은 나가 보도 자료를 가속화 할 때이다. 나는 파이썬이 게임을 만드는 데 최선이 아니라는 것을 알고 있지만, 정상적인 기능을 갖춘 텍스트 기반 게임을 시도하는 것이 재미있는 과제라고 느꼈습니다.

감사합니다!

답변

0

동시에 두 가지를 처리해야하므로 비동기 적으로 처리해야합니다. 어떤 종류의 정보를 듣고 뭔가를 출력하고 싶습니다.

비동기 작업을 작성 ->이

을 prent 수 있도록하고 동시에 입력을 수신() (또는 키 누름을 등록하는 또 다른 방법).

입력이 발생하면 비동기 작업을 취소하고 플레이어가 게임을 계속할 수있게하십시오.

+0

그런 코드는 어떻게 생겼습니까? –

+0

좀 더 복잡하고 코드 작성 서비스가 아닙니다. asyncio 및 문서를 확인하십시오. – 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) 

.

관련 문제