为什么我无法访问 Classroom 对象?它显示: next_scene_name = start_scene.enter() #error TypeError: enter() missing 1 required positional argument: 'self'
请解释我犯了什么错误。
#class
class Engine(object): #(map_object_with_classroom, player_object)
def __init__(self,map_object,player_object):
self.map_object = map_object
self.player_object = player_object
def play(self):
print('\n')
print('test ok')
start_scene = self.map_object.begin()
end_scene = self.map_object.Senario['auditorium']
while start_scene != end_scene:
next_scene_name = start_scene.enter() #error
start_scene = self.map_object.next_scene(next_scene_name)
class Player(object):
Student_influence = 20
Staff_influence = 20
principle_influence = 20
def __init__(self,name):
self.name = name
class Scene(object):
def enter(self):
print("test")
class ClassRoom(Scene):
def enter(self):
print('test ok!')
return 'sportsclub'
class SportsClub(Scene):
def enter(self):
print('test ok!')
return 'scienceclub'
class ScienceClub(Scene):
def enter(self):
print('test ok!')
return 'canteen'
class Canteen(Scene):
def enter(self):
print('test ok!')
return 'auditorium'
class Auditorium(Scene):
def enter(self):
print('test ok!')
return 'finished'
class Finished(Scene):
def enter(self):
print('test ok!')
return None
class Map(object):
Senario = {'finished':Finished, 'classroom':ClassRoom,'sportclub':SportsClub, 'scienceclub':ScienceClub, 'canteen':Canteen, 'auditorium':Auditorium}
def __init__(self,start_scene):
self.start_scene = start_scene
def begin(self):
return self.next_scene(self.start_scene)
def next_scene(self,scene_name):
nxt = self.Senario.get(scene_name)
return nxt
当我打印 start_scene 它显示那是什么?但是当我打印 ClassRoom 类的实例时,它显示 < main .ClassRoom object>
饮歌长啸
撒科打诨
随时随地看视频慕课网APP
相关分类