笨方法习题43中的游戏场景切换方法记录

来源:互联网 发布:阿里云 更改ssh端口 编辑:程序博客网 时间:2024/06/10 08:31
import sysfrom sys import exitclass 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'#return和字典联合使用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)#注意!是map.scenes.get()    def opening_scene(self):        return self.next_scene(self.start_scene)a_map=map('a')#'a'即'start_scene'a_game=engine(a_map)#'a_map'即'scene_map'a_game.play()
  • 一个非常好用的方法:利用notepad里的视图\显示符号\显示空格与制表符来查看缩进的种类
原创粉丝点击