在一个基于文本的简单游戏中,我正在使用Python 3.4.2,我有兴趣添加一个选项菜单。为此,我希望用户可以随时在聊天中输入“选项”,然后会弹出一个选项菜单。我一直在阅读类似的问题,但一直无法找到适合我的游戏的任何东西,其中一切都在各种Def中发生,没有同时发表声明。
提前致谢!
编辑:抱歉没有足够的信息。以下是我的代码片段:
import time
SetTimes=0
#Scrolling Up
def Entering(SetTimes):
if SetTimes>=1:
time.sleep(0.1)
print("\n")
SetTimes-=1
Entering(SetTimes)
else:
return
#Intro Developers
def Intro(SetTimes):
print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
print("blah blah blah")
time.sleep(0.1)
print("blah blah blah")
time.sleep(0.1)
print("blah blah blah")
SetTimes=12
Entering(SetTimes)
SetTimes=2
time.sleep(2)
print("\n")
Entering(SetTimes)
Intro2(SetTimes)
基本上,我想要完成的是图形游戏,但图形是使用Ascii完成的。 Entering(SetTimes)def用于为开场场景制作滚动效果,类似于旧游戏。游戏将在玩家在指定时间输入命令的情况下进行。例如,它可能显示为“左侧和右侧似乎有路径”,用户可以输入“左”或“右”,但仅限于指定的时刻。
我要问的是,是否有可能让它不断检查您输入“选项”,同时不会冻结游戏。
答案 0 :(得分:2)
当您需要用户输入时,您需要检查用户输入。没有办法解决这个问题。
您可能应该使用一些while
语句。通常代码类似于:
init_everything()
while running:
handle_input()
update_everything()
draw_everything() # or print or whatever
if game_over():
running = False
# display score or something
不要这样做。你可以使用两个线程 - 一个运行游戏,一个检查输入。但是不要这样做。看起来你是Python /游戏开发/编程的新手,这将太复杂和困难。
不要自己做所有事情。不要重新发明轮子。对于非常简单的事情来说,这可能有点过头了,但你可以从一些图书馆中获益。 Pygame非常棒。
1)是最简单的,可能是你的情况。从长远来看, 3)是最好的。不要使用 2)。