import sys
from sys import exit
class scene(object):
def enter(self):
exit()
class engine(object):
def __init__(self,scene_map):
self.scene_map=scene_map
def play(self):
current_scene=self.scene_map.opening_scene()
while True:
print"\n-----"
next_scene_name=current_scene.enter()
current_scene=self.scene_map.next_scene(next_scene_name)
class A(scene):
def enter(self):
print"this is a"
return 'b'
class B(scene):
def enter(self):
print"this is b"
exit()
class map(object):
scenes={
'a':A(),
'b':B()
}
def __init__(self,start_scene):
self.start_scene=start_scene
def next_scene(self,scene_name):
return map.scenes.get(scene_name)
def opening_scene(self):
return self.next_scene(self.start_scene)
a_map=map('a')
a_game=engine(a_map)
a_game.play()
- 一个非常好用的方法:利用notepad里的视图\显示符号\显示空格与制表符来查看缩进的种类