2013-02-01 22 views
1

有沒有一種方法可以編寫一個不需要用戶輸入的函數呢?例如,在一個井字遊戲過程中,用戶可以隨時按下「Q」,程序關閉?Python 3.2被動用戶輸入

+0

遊戲如何顯示? Tkinter的?只是打印? –

回答

1

有幾種方法可以做到這一點,它們都是不同的。

如果你的遊戲是使用curses終端應用程序,你會趕上q當你打電話getch(),然後提高SystemExit或簡單地打破了你的while循環的許多curses應用程序使用。

使用tkinter或其他圖形用戶界面庫,您可以將按鍵事件綁定到您的持有井字腳板的Frame小部件。

0

假設你剛剛印刷電路板出來(我有一個基本的井字棋遊戲,確實是),輸入過程中,你可以關閉它(即使你特別要求,否則):

user_option =輸入(「輸入一個空格移動到,或‘Q’退出」)

try: 
    if user_option.lower() == 'q': # makes everything lowercase so it is easier to handle 
     import sys 
     sys.exit("Game Terminated.") 
except TypeError: 
    # other code 

我不知道玩家如何選擇移動,所以我用tryexcept。在我的Tic-Tac-Toe遊戲中,我有用戶輸入一個整數,它對應於棋盤上的空間。

或者,也可以只具有用戶按下Ctrl鍵+Ç其中在Python自動KeyBoardInterrupt(結束程序)。