有没有办法编写一个不需要用户输入的函数?例如,在井字游戏中,用户可以随时按“Q”,程序会关闭?
问问题
344 次
2 回答
1
有几种方法可以做到这一点,它们都是不同的。
如果您的游戏是使用 的终端应用程序curses
,您将q
在调用 时捕获getch()
,然后引发SystemExit
或简单地跳出while
许多应用程序使用的循环curses
。
使用tkinter
或其他 GUI 库,您可以将按键事件绑定到Frame
包含井字游戏板的小部件。
于 2013-02-01T17:47:46.060 回答
0
假设您只是将棋盘打印出来(我有一个基本的井字游戏可以做到这一点),在输入过程中您可以关闭它(即使您特别询问过):
user_option = input("输入要移动到的空格,或者'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
我不确定玩家选择如何移动,所以我使用了try
and except
。在我的井字游戏中,我让用户输入一个整数,它对应于棋盘上的一个空格。
或者,您可以让用户按Ctrl+ C,这在 Python 中是自动KeyBoardInterrupt
的(结束程序)。
于 2013-02-01T18:19:31.980 回答