我正在开发一个 Python 文本 RPG,我正在使用字典向玩家提供有关他们正在访问的区域的初始信息。(例如参见代码)。当玩家键入“look”或“examine”时,我希望控制台打印出我在 EXAMINATION 键的值中拥有的内容。我想要它做的是一次打印一段文本,或者等待玩家在继续之前按下回车键,或者在打印下一个块之前至少等待几秒钟。有没有办法做到这一点?也许我是从错误的方向来的?
import time
import sys
def prompt():
print("\n" + "=========================")
print("What would you like to do?")
player_action = input("> ")
acceptable_actions = ['move', 'go', 'travel', 'walk', 'quit', 'examine', 'inspect', 'interact', 'look']
while player_action.lower() not in acceptable_actions:
print("Unknown action, try again.\n")
player_action = input("> ")
if player_action.lower() == 'quit':
sys.exit()
elif player_action.lower() in ['move', 'go', 'travel', 'walk']:
player_move(player_action.lower())
elif player_action.lower() in ['examine', 'inspect', 'interact', 'look']:
player_examine(player_action.lower())
def player_examine(player_action):
if zonemap[myPlayer.location][SOLVED]:
print("There's nothing more here to examine.")
elif zonemap[myPlayer.location][EXAMINATION]:
slowprint(zonemap[myPlayer.location][EXAMINATION])
ZONENAME = ''
DESCRIPTION = 'description'
EXAMINATION = 'examine'
SOLVED = False
UP = 'up', 'north'
DOWN = 'down', 'south'
LEFT = 'left', 'west'
RIGHT = 'right', 'east'
zonemap = {
'Fields': {
ZONENAME: "Western Fields",
DESCRIPTION: "A grassy field to the west of town.",
EXAMINATION: "The grass in this field is extremely soft." + input("> ") + "The wind feels cool on your face." + time.sleep(2) + "The sun is beginning to set.",
SOLVED: False,
UP: "The Mountains",
DOWN: "The Town",
LEFT: "",
RIGHT: "The Ocean",
},
尝试使用 time.sleep() 方法时,出现以下错误:
TypeError: can only concatenate str (not "NoneType") to str
尝试使用 input("> ") 函数时,文本无需等待即可直接打印。
缥缈止盈
相关分类