首页 文章

从用户输入中调用已定义的房间名称?

提问于
浏览
1

我似乎无法找到任何问题的好答案 . 我正在尝试为我的游戏创建维护模式,我希望用户能够从主菜单输入房间名称并能够产生到该房间 . 这是代码 . 我有一个模块设置为

Class MM():
    def Room_Name():
        pass

这显然是通过,然后在游戏中我有这个 .

def MaintenanceMode():
    MM.Room_Name()

现在这个代码就像一个魅力,我可以把一个房间名称放在MM.Room_Name()的括号内,我产生到房间没问题 . 我想要的是一个更友好的用户版本 .

好的,所以我在游戏的主菜单中进行设置,输入进入维护模式的代码,然后检查MM.Room_Name()以便调用房间 . 当我在主菜单中键入代码时,我想要它来询问房间名称,并在那里产生 . 我似乎无法让这个工作,我疯狂地搜索找到一个解决方案 . 我试过了

ask = input("Which room do you want to go?>: ")
MM.Room_Name(ask())

但我不能让它工作,我只是得到str不可调用,我尝试了几个其他解决方案的问题,甚至更复杂的版本我做了什么,仍然没有任何工作 . 我试图避免在这里问,因为我担心这个问题已经得到了回答,但我已经被困了几个星期而且我有点绝望 . 是的,我试过了

ask = str(input("Which room do you want to go?>: "))

但我仍然没有运气 . 如果可能的话,我想避免在我的游戏中制作所有房间的清单并制作清单 . 但如果这是我唯一的解决方案,我想它不会受到伤害 . 我想,因为我可以在MM.Room_Name(Escape())中调用房间名称,必须有一种方式让用户输入进入并可以调用 . 有什么建议吗?我真的很感激 .

vEdit 1v

所以代码模拟了我想要的东西 . 运行此代码并在主菜单中键入164进入维护模式,它将生成到MM.Room_Name(Bedroom())中的房间Bedroom() . 我想要的是让用户输入密码164,它会询问玩家你想要产生什么房间,并以某种方式从用户输入调用该房间 . 不要尝试任何其他选项,只需在菜单中输入164,它就会产生到Bedroom() . 因此,我需要弄清楚如何将用户输入转换为可调用功能,这样玩家尝试维护模式时不必在每次想要不同房间时编辑MM.Room_Name()中的房间,而是当玩家进入维护时模式,游戏要求房间名称,并在那里产卵 . 我包括一间卧室和一间客厅供你们测试 . 只需在MM.Room_Name()之间切换它们,并在进入维护模式时查看它是如何工作的 . 希望这能让您了解我希望用户输入版本如何工作 .

import time
class MM():
    def Room_Name():
        pass
def Question():
    return input("You entered the Room, What do you do?>: ")

def space():
    print(" ")

def pass1():
    while True:
        space()
        return input("**Press Enter**")
        break

def what():
    space()
    print("I didn't understand that.")
    space()
def MaintenanceMode():
    print("Check MaintenanceMode() Block On Line 49 To Change Room's!")
    print("V  V  V  V  V  V  V  V  V  V  V  V  V  V  V  V  V  V  V  V")
    space()
    MM.Room_Name(Bedroom())
def Menu():
    space()
    space()
    print("**The Hunter**")
    space()
    print("Press 1: To Start The Game")
    space()
    print("Press 2: For Story")
    space()
    print("Press 3: To Quit")
    space()
    Choice_input0()

def Choice_input0():
    while True:
        def Choice():
            return input("What do you want to do?>: ")
        Player = Choice()
        if Player == '1':
            p.next_source()
            time.sleep(1)
            Startgame()
        elif Player == '2':
            Storyinfo()
        elif Player == '3':
            print('Exit Okay!')
        elif Player == '164':
            space()
            print('Maintenance Mode Active!')
            MaintenanceMode()
        else:
            what()
def Bedroom():
    while True:
        def Choice():
            Question()
        Player = Question()
        if Player in ['look around']:
            space()
            print("You see the Bedroom")
            space()
        else:
            what()

def Livingroom():
    while True:
        def Choice():
            Question()
        Player = Question()
        if Player in ['look around']:
            space()
            print("You see the Livingroom")
            space()
        else:
            what()

Menu()

1 回答

  • 0

    在分配 ask 之后,您不应该尝试将其称为函数,因为它是一个字符串 . 所以

    MM.Room_Name(ask)
    

    没有 ask() 上的parantheses可能会更好 .

相关问题