0
試圖在Zed Shaw的LPTHW中製作我自己的RPG角色生成器。部分任務是爲程序的每個「房間」創建一個新課程,如WelcomeScreen
或ChooseMutations
。LPTHW ex。 45,如何從另一個模塊的類中返回函數?
這是主程序。
import rooms
class Program(object):
def __init__(self, start):
self.start = start
def run(self):
next_room_name = self.start
while True:
room = getattr(self, next_room_name)
next_room_name = room()
x = rooms.WelcomeRoom()
Program(x.hello_user())
這裏是rooms
文件它試圖拉東西。
class WelcomeRoom(object):
def __init__(self):
pass
def hello_user(self):
print '*' * 79
print '\n'
print '\t\tWelcome to the'
print '\t\tMetamorphosis Alpha Character & Random Encounter Generator'
print '\t\tProgrammed poorly by Raymond Weiss'
print '\n'
print '*' * 79
raw_input('Please press enter to continue')
return 'get_name'
def get_name(self):
name = raw_input('Hello, whats your name?',
'\n',
':> ')
但是當我在Python運行主程序,它只是記錄來自rooms
返回函數get_name()
出來代替。輸出如下。
Raymond-Weisss-MacBook-Pro:macgre Raylug$ python macgre.py
*******************************************************************************
Welcome to the
Metamorphosis Alpha Character & Random Encounter Generator
Programmed poorly by Raymond Weiss
*******************************************************************************
Please press enter to continue
Raymond-Weisss-MacBook-Pro:macgre Raylug$
我提前道歉,如果我的問題的標題不正是我嘗試問,作爲一個新手,它有時很難不知道究竟要問。
這工作!謝謝!只要它允許我接受它作爲答案。 – lerugray