【发布时间】:2019-12-01 19:20:15
【问题描述】:
一个半月前我开始学习python。所以请原谅我缺乏一切。
我正在制作一个基于文本的冒险游戏。该游戏已编写并可以在终端中玩。我现在正在添加一个 GUI 作为事后的想法。
在一个文件中,我有:
class Parser():
def __init__(self):
self.commands = CommandWords()
def get_command(self):
# Initialise word1 and word2 to <None>
word1 = None
word2 = None
input_line = input( "> " )
tokens = input_line.strip().split( " " )
if len( tokens ) > 0:
word1 = tokens[0]
if len( tokens ) > 1:
word2 = tokens[1]
每当用户希望输入文本时都会调用它,然后它会调用另一个函数来将输入与已知命令进行比较,以推动游戏前进。
但是,当我尝试将 input() 替换为 entry_widget.get() 时,它无法识别 entry_widget。 所以我导入了包含 GUI 脚本的文件,这是一个循环导入错误。
我尝试将输入存储为字符串变量,但程序并没有停止并等待用户输入,因此在程序开始运行时卡住了,不知道如何处理空的变量。(假设 input() 停止程序并等待用户输入?)
有什么解决办法吗?或者更好的方法来做到这一点?
谢谢。
【问题讨论】: