1

有没有办法编写一个不需要用户输入的函数?例如,在井字游戏中,用户可以随时按“Q”,程序会关闭?

4

2 回答 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

我不确定玩家选择如何移动,所以我使用了tryand except。在我的井字游戏中,我让用户输入一个整数,它对应于棋盘上的一个空格。

或者,您可以让用户按Ctrl+ C,这在 Python 中是自动KeyBoardInterrupt的(结束程序)。

于 2013-02-01T18:19:31.980 回答